2012-04-14 15 views
1

私は奇妙なレール3.2の問題があります。私はこのようなフォームを送信する場合:Rails送信後にPOSTパラメータが空ですか?

<%= 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 

のPOSTのparamsの値をとして定義される後CHECK_BOX値以外の提出は空のまま。送信後の私のコントローラ内のアクションでは、モデルにパラメータを再割り当てしました。そのため、パラメータを再利用してエントリを保存できます。

def preview 
    @job = Job.new(params[:job]) 
end 

この異常な動作に関するアドバイスはありますか?私は盲目で、バグは見えませんか?

+0

レンダリングされたhtmlを見て、タイトルテキストフィールドのhtml名が正しいことを確認してください。 –

答えて

2

Rails 3.2.3にはありますか? Rails 3.2.3からActive Recordへの変更の1つは、「すべての属性の割り当てをデフォルトでホワイトリストに登録する」ことです。 [ANN] Rails 3.2.3 has been released!

+0

ありがとう、私はこれを調べます。今すぐ3.2.3を使って! – Tronic

+0

だから私はそれを見て、エラーを修正することができませんでした。ポストパラメータを割り当てません... – Tronic

+0

ログを確認しましたか?投稿パラメータは印刷する必要があります。または、params [:job]にデータがあるかどうかを確認できます。レールサーバのログに – Yanhao

関連する問題