2012-04-14 2 views
1

У меня странный рельс 3.2 проблема. когда я отправить форму, как это:Rails POST params empty после отправки?

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

значения Params POST остаться пустым после отправить на стоимость check_box кроме. В действии в моем контроллере после отправки я переназначил параметры модели, поэтому я могу повторно использовать параметры для сохранения записи.

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

любые советы по этому странному поведению? я слепой и не вижу ошибку?

+0

Посмотрите на визуализированный html и убедитесь, что имя html в текстовом поле заголовка верное. –

ответ

2

Вы в Rails 3.2.3? Одним из изменений Rails 3.2.3 в Active Record является то, что «по умолчанию присвоить все атрибуты атрибутов». См. [ANN] Rails 3.2.3 has been released!

+0

спасибо, я посмотрю на это. используя 3.2.3 прямо сейчас! – Tronic

+0

, поэтому я заглянул в него и не смог исправить ошибку. он не присваивает никаких параметров сообщения ... – Tronic

+0

Вы проверили журнал? Параметры сообщения должны быть распечатаны. Или вы можете проверить, имеются ли в параметрах [: job] какие-либо данные. – Yanhao