在创建之前格式化日期参数?

时间:2012-04-02 10:41:23

标签: ruby-on-rails ruby-on-rails-3

我的表单是以“2012年4月2日”格式传递日期

我知道我可以使用以下内容格式化各个参数:

 @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 个答案:

答案 0 :(得分:3)

如果数据库中有相同的字段,则覆盖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])

答案 1 :(得分: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

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