2012-04-02 41 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 

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