2012-06-04 37 views
1

我正在学习导轨,并且最近遇到了路障。任何指导表示赞赏。Rails日期参数

我正在使用设备,并且我有一个:confirmed_at DateTime列作为受保护的属性。所以,从我的管理界面更新它,我超级控制器更新方法,并添加:

 @user.update_attribute(:confirmed_at, params[:user][:confirmed_at]) 
     @user.update_attribute(:school_id, params[:user][:school_id]) 

:school_id正确,但:confirmed_at得到更新,这是日期时间,始终是零。我看着params哈希表,果然它没有:confirmed_at但它有

 "confirmed_at(1i)"=>"2012", 
     "confirmed_at(2i)"=>"6", 
     "confirmed_at(3i)"=>"2", 
     "confirmed_at(4i)"=>"04", 
     "confirmed_at(5i)"=>"11" 

的Rails似乎并没有被翻译的领域到数据库datetime对象的参数。

**如何捕获这些值以正确更新我的:confirmed_at字段?

任何帮助表示赞赏。

的Rails 3.1, Ruby 1.9的

回答

1

试试这个:

@user.update_attribute(:confirmed_at, params[:confirmed_at]) 

的date_select在其自己的PARAMS发送,而不是作为则params的一部分[:用户]哈希值。

我希望这会有所帮助。

+0

没有完全做到。到目前为止,一个丑陋的解决方案是将fiels添加为文本字段,并将日期输入为12/12/12。 – Yuri

+0

谢谢Anil。我认为这是可行的,因为它是有道理的,我没有尝试过,然后再阅读您的评论。 – Yuri

+0

@Yuri那么你的最终解决方案是什么? – Anil