我有一个奇怪的rails 3.2问题。当我提交这样的表格时:
<%= form_for @job, :url => job_preview_path do |f| %>
<dl>
<dt><%= f.label :job_title, "Job Titel" %></dt>
<dd><%= f.text_field :job_title %></dd>
<dt>Checkbox please!</dt>
<dd><%= f.check_box :extra_featured %> </dd>
</dl>
<%= f.submit "Submit" %></p>
<% end %>
将行动路线定义为
match 'job/preview' => 'jobs#preview', :as => :job_preview, :via => :post
除了check_box值之外,POST params的值在提交后保持为空。在提交后我的控制器中的操作中,我将params重新分配给模型,因此我可以重用params来保存条目。
def preview
@job = Job.new(params[:job])
end
对这种奇怪行为的任何建议?我是瞎子而且看不到这个虫子?
答案 0 :(得分:2)
你是否使用Rails 3.2.3? Rails 3.2.3到Active Record的一个变化是“默认情况下将所有属性赋值白名单”。见[ANN] Rails 3.2.3 has been released!