- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:railsで、データベースのfindの違いについて)
Railsのデータベースのfindの違いについて
このQ&Aのポイント
- Railsのデータベースのfindの違いについて
- User.findとUser.new.findの違いは何でしょうか?プログラムの内部的な違いやパフォーマンスについて知りたいです。
- Railsでデータベースの検索をする際、User.findとUser.new.findの使い方に違いがあるのでしょうか?違いやパフォーマンスについて教えてください。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
findはクラスメソッドのため、2番目の User.new.find(:all, :conditions => '...', :order => '...') の構文はエラーになるはずです。 こちらの環境で、実行したときはエラーになりました。 こちらの実行環境は、windows7で ruby 1.9.2p180 (2011-02-18) [i386-mingw32] rails3.0.7です。 findの構文を見た限りでは、rails2.Xのように見受けられますので、 rails2.Xの場合はエラーにならないのかも知れません。 ただ、rails3.Xでは使用できないことは、明らかですので、 今後のrailsのバージョンアップなどを考えると、 この構文は使用しないほうが良いかと思います。 但し、本件は「回答に自信なし」のため、 更に、正確な回答を期待すのであれば、rubyのメーリングリストに参加し、 そこで聞かれるのが確実かと思います。 rubyのメーリングリストへの参加方法は参考URLを参照ください。
お礼
ご回答、ありがとうございました。 rails3は、以前のバージョンと比べて大幅に変わってるみたいですね。 仕事なので、既存のプログラムは勝手にいじれませんが、今後はこの検索方法はやめていくように社内でも検討してみます。 機会がありましたら、メーリングリストにも登録してみます。