0

我正在使用 Rails 3.1。我有一个数据库列 t.datetime “end_at”。如果我在创建对象时输入日期,那么我可以稍后更改值(更新)。但是如果我把它留空(NULL),我发现我无法更新它。我验证了该字段的名称和新值在参数中。为什么?

 def update
   begin
     model = MyModel.find(params[:id])
     model.update_attributes!(params[:my_model])
   rescue ActiveRecord::RecordNotFound => e
      #something
   end
 end
4

1 回答 1

1

你需要确保两件事是真实的:

  • params[:end_at]必须包含一个 nil 或一个 DateTime。通常参数不会以日期时间的形式出现。
  • 您的专栏不应该是 TIMESTAMP (但现在可能还不是这样)

还要研究多参数属性。

于 2013-03-20T16:58:42.960 回答