0

Rails3.1を使用しています。データベース列 t.datetime "end_at" があります。オブジェクトの作成時に日付を入力すると、後で値を変更 (更新) できます。しかし、空白(NULL)のままにすると、更新できないことがわかりました。フィールドの名前と新しい値が params にあることを確認しました。なんで?

 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

次の 2 点が正しいことを確認する必要があります。

  • params[:end_at]nil または DateTime を含める必要があります。通常、params は datetime として入りません。
  • あなたの列は TIMESTAMP であってはなりません (しかし、これはおそらくまだそうではありません)

マルチパラメータ属性も調査します。

于 2013-03-20T16:58:42.960 に答える