0

ActiveRecord の find メソッドから最も奇妙な動作が得られます。updated_at 日付でレコードを検索しようとしていますが、[] が返されます。コードは次のとおりです。

      @updated = get_current_user.ideas.all(:conditions => {:updated_at => '2013-04-20 03:30:34'})

そして、返されるはずのレコードは次のとおりです。

 #<Idea id: 3, title: "An app that tracks useage", status: "prototype", user_id: 1, updated_at: "2013-04-20 03:30:34"

私はそれを2秒ほど動かしましたが、何もしませんでした。問題は、updated_at 属性と一致しないことです。空の配列を返すだけです。なぜ機能しないのか誰か知っていますか?

4

3 に答える 3

1

あなたのユーザーはアイデアに関連していますか? あなたの記録から、ユーザーIDがわかりません。同じクエリを実行したところ、回答を取得できました。また、 get_current_user が正しいかどうかを確認できます。

于 2013-04-21T22:57:41.107 に答える
1

これを試して:

@updated = get_current_user.ideas.where(:updated_at => '2013-04-20 03:30:34').all

all(:conditions => '') は覚えにくいようで、新しい Rails バージョンでは廃止される予定です。私はわかりません。とにかく、私は「all」よりも「where」メソッドを好みます。

于 2013-04-21T22:58:39.403 に答える