2016-04-13 17 views
0

私はしばらく試してきましたが、date_select値にアクセスできないようです。Rails date_select values常に0

ビューは次のようになります。

<%= form_for(@product) do |form| %> 

    ... 

    <%= form.label :release_date %> 
    <%= date_select :@product, :release_date %> 

    ... 

フォームが送信されると、私はPOSTに含まれるような値が間違いなく存在していることがわかります。

Parameters: ... "product"=> { "@product"=>{"release_date(1i)"=>"2016", "release_date(2i)"=>"4", "release_date(3i)"=>"13"} ... } 

答えから、同様の質問には;日付の値は常に0

あるしかし何かアドバイスは次のようになり

product = params[:product] 
date = product["release_date(1i)"].to_i 

:キー「RELEASE_DATE(1I)」から値を取得するための正しいコードのようなものでなければならないことと思われるHow to get a Date from date_select or select_date in Rails?感謝。

+0

場合 'プットparamsは[:製品]'あなたのコントローラで、何が見えますか? – VonD

答えて

2

あなたはとてもあなたが

Parameters: ... "product"=> {"release_date(1i)"=>"2016", "release_date(2i)"=>"4", "release_date(3i)"=>"13"} ... } 

のparamsの理想を取得しますので、あなたが

product = params[:product] 
date = product["release_date(1i)"].to_i 
を行うことができます

<%= form.date_select :release_date %> 

<%= date_select :@product, :release_date %> 

を変更する必要があります

+1

私はそれを逃したとは思わない、ありがとう。 – Sam

1

あなたのform_forタグでdo |form|を持っているので、あなたはそうのような形のモデルにrelease_dateをバインドする必要があります。

<%= form.date_select :release_date %> 
関連する問題