• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:railsで、データベースのfindの違いについて)

Railsのデータベースのfindの違いについて

このQ&Aのポイント
  • Railsのデータベースのfindの違いについて
  • User.findとUser.new.findの違いは何でしょうか?プログラムの内部的な違いやパフォーマンスについて知りたいです。
  • Railsでデータベースの検索をする際、User.findとUser.new.findの使い方に違いがあるのでしょうか?違いやパフォーマンスについて教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • tatsu99
  • ベストアンサー率52% (391/751)
回答No.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を参照ください。

参考URL:
http://www.ruby-lang.org/ja/community/mailing-lists/
ikazuti
質問者

お礼

ご回答、ありがとうございました。 rails3は、以前のバージョンと比べて大幅に変わってるみたいですね。 仕事なので、既存のプログラムは勝手にいじれませんが、今後はこの検索方法はやめていくように社内でも検討してみます。 機会がありましたら、メーリングリストにも登録してみます。

関連するQ&A