提交后,Rails POST params为空?

时间:2012-04-14 10:19:32

标签: ruby-on-rails ruby-on-rails-3 forms

我有一个奇怪的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

对这种奇怪行为的任何建议?我是瞎子而且看不到这个虫子?

1 个答案:

答案 0 :(得分:2)

你是否使用Rails 3.2.3? Rails 3.2.3到Active Record的一个变化是“默认情况下将所有属性赋值白名单”。见[ANN] Rails 3.2.3 has been released!