2012-02-11 2 views
2

올해 애트리뷰트가있는 DB를 만들려고하는데 어려움이 있습니다. 나는 발판을 만들어이 코드로 _form.html.erb을 수정하는 tryied :년 드롭 다운 상자 만들기 Ruby On Rails의 FormBuilder

<%= f.date_select :year, :start_year=>2000, :end_year=>Time.now.year %> 
레일 서버를 실행하려고

날이 오류를 준 :

1 error(s) on assignment of multiparameter attributes 

나는 단지 원하는 것을 깨달았다 1 년 및 1 년이 아닌 1 년. 그렇게 할 수있는 방법이 있습니까? 나는 시도했다 : discard_month => true 그러나 그것은 단지 그것을 숨긴다. 그러나 아직도 그것을 저장한다. 사전에

감사

답변

6

과 같이 수행하여 year 필드가 int 아니라 datetime 때문에

<%= f.date_select :year, :order => [:year], :start_year => 2000, :end_year => Time.now.year, :prompt => {:year => "Select year"} %> 

을 :

<%= f.select :year, (2000..Time.now.year).to_a, :include_blank => {:year => "Select year"} %> 
+0

시도했지만 작동하지 않습니다. 내 속성은 year : integer입니다. 여전히 여러 매개 변수를 저장하려고 시도하고 있습니다. 이제는 아무 것도 없습니다. – Dan

+0

date_select를 사용하면 항상 날짜가 표시되므로 데이터베이스의 필드가 일관성을 유지해야합니다. – apneadiving

+0

1900 년부터 2012 년까지 date_select 이외의 다른 해에 드롭 다운 상자를 만드는 다른 옵션이 있습니까? – Dan