2013-05-09 48 views
3

我目前有一个文本字段的日期条目,我试图将年,月和日分成三个单独的条目,由'/'分隔。原来的文本输入看上去像:对于一个数据库条目的三个文本字段

<%= f.text_field :date, :placeholder => 'YYYY/MM/DD' %> 

我想这个分成三个text_fields,并添加在一起,并把它放到数据库中的日期条目。 我该怎么做?

回答

0

添加三个虚拟属性的模型:

attr_accessor :form_month, :form_day, :form_year 

然后放在控制器,而不是模型如下:

def create 
    # ... 
    form_date = [ params[:form][:form_month], \ 
       params[:form][:form_day] , 
       params[:form][:form_year] ].join("/") 

    @my_model.date = Date.parse(form_date) 

    # ... save and return ... 
end 

这将是一个好主意,手动检查各形式参数的有效性。如果喂了一个不完整的日期字符串,Date#parse可能会吐出不正确的日期。

Date.parse "2005/11/4" 
# => Fri, 04 Nov 2005 

Date.parse "/11/4" 
# => Mon, 04 Nov 2013 
相关问题