2012-04-02 23 views
0

我的样子将日期格式为“2012年4月2日”在创建之前格式化日期参数?

我明白我可以用这样的格式化个别PARAMS:

@release_date = Date.parse(params[:release_date]).strftime("%Y-%m-%d") 
@original_release_date = Date.parse(params[:original_release_date]).strftime("%Y-%m-%d") 
@preorder_start_date = Date.parse(params[:preorder_start_date]).strftime("%Y-%m-%d") 

但我怎么再经过格式化的值,以我的创造行动?

@product = @release.products.create(params[:product]) 

在此先感谢!

回答

2

如果你有相同的字段到数据库中,然后覆盖像则params的值:

params[:product][:release_date] = Date.parse(params[:release_date]).strftime("%Y-%m-%d") 
params[:product][:original_release_date] = Date.parse(params[:original_release_date]).strftime("%Y-%m-%d") 
params[:product][:preorder_start_date] = Date.parse(params[:preorder_start_date]).strftime("%Y-%m-%d") 

@product = @release.products.create(params[:product]) 
+0

我可以看到这应该如何工作,但我得到一个“ProductsError in ProductsController#create/can not dup NilClass” – Raoot 2012-04-02 11:21:36

+0

只是把条件解析日期之前,如:Date.parse(params [:preorder_start_date])。 strftime(“%Y-%m-%d”)if!params [:preorder_start_date] .nil? – Vik 2012-04-02 11:24:01

+0

完美,谢谢! – Raoot 2012-04-02 12:07:03

0

你可以这样做.........

@release_date = Date.parse(params[:release_date]).strftime("%Y-%m-%d") 
    @original_release_date = Date.parse(params[:original_release_date]).strftime("%Y-%m-%d") 
    @preorder_start_date = Date.parse(params[:preorder_start_date]).strftime("%Y-%m-%d") 

然后

@product.release_date = @release_date 
    @product.original_release_date = @original_release_date 
    @product.preorder_start_date = @preorder_start_date 
    @product.save 

完成!!!!!!!!!!