1

私はレールを学んでいますが、最近障害物に遭遇しました。任意のガイダンスをいただければ幸いです。

私はデバイスを使用しており、:confirmed_atDateTime 列を保護された属性として持っています。したがって、管理インターフェイスから更新するには、コントローラーの更新メソッドをスーパーに追加し、次を追加します。

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

:school_idは正しく更新:confirmed_atされますが、datetime は常に nil です。私はparamsハッシュを見て、確かにそれは持っていませんが、持っ:confirmed_atています

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

Rails は、フィールドのパラメーターをデータベースの日時オブジェクトに変換していないようです。

:confirmed_at** これらの値を取得してフィールドを適切に更新するにはどうすればよいですか?

どんな助けでも大歓迎です。

レール3.1、ルビー1.9

4

2 に答える 2

1

datetime_selectヘルパーを使用していると思います。

これをチェックしてください: `datetime_select` から DateTime オブジェクトにデータを変換する Rails メソッドはどこにありますか?

于 2012-06-04T21:21:19.323 に答える
1

これを試して:

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

date_select は、params[:user] ハッシュの一部としてではなく、独自のパラメーターで送信されます。

これが役立つことを願っています。

于 2012-06-04T22:59:01.557 に答える