2016-04-13 37 views
0

Bir süredir çalışıyorum ama date_select değerlerine erişemiyorum.Raylar date_select degerleri her zaman 0

görünümü şuna benzer:

formu Ben POST içerdiği değerler kesinlikle orada olduğunu görebilirsiniz gönderildiğinde
<%= form_for(@product) do |form| %> 

    ... 

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

    ... 

: cevap itibaren

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

benzer bir soruya ; How to get a Date from date_select or select_date in Rails? doğru kod anahtarı "RELEASE_DATE (1i)" dan değeri elde etmek gibi görünüyor gibi bir şey olmalıdır:

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

tarih değeri her zaman 0.

Herhangi bir tavsiye olurdu olduğunu ancak takdir.

+0

eğer 'koyar params [: Ürün]' controller içerisinde, ne gibi görünüyor? – VonD

cevap

2

Sen

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

parametreler ideali alacak

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

yüzden

<%= form.date_select :release_date %> 

değiştirmek gerekir ve böylece yapabileceğiniz

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

Bunu kaçırdığına inanamıyorum, teşekkürler. – Sam

1

Eğer form_for etiketinde do |form| var olduğundan, şöyle formun modeline release_date bağlamak gerekir:

<%= form.date_select :release_date %> 
İlgili konular