答えて
このようにチェーンしたい場合、あなたはちょっと掘り下げなければなりません。 this similar SO questionを参照してください。
Railsのような方法はありません。あなたが(「または」メソッドを持っていた)AREL方法を学びたいのであれば
User.where("first_name = ? OR last_name = ?", params[:first_name], "Wilson")
:
私は句がある中でORを行う最も簡単な方法は、このような何かをすることを考えますここをクリックしてください:https://github.com/rails/arel#readme。 ARELとのActiveRecordを使用して、あなたはこのように同じことを行うことができます
User.where(User.arel_table[:first_name].eq(params[:first_name]).or(User.arel_table[:last_name].eq('Wilson')))
あなたはmeta_whereを見てみることができます。この宝石は、Rubyコードでより強力なActiveRecordクエリ式を使用できます.SQLフラグメントを削除する必要はありません。
単にUser.where(cond1) | User.where(cond2)
を使用すると、||ルビーによって予約されています!
これは同じ結果を得ても実際は2つのSQLクエリを実行しており、Rubyを使用しています配列を使用して結果を1つの配列に連結します([Array#|](http://www.ruby-doc.org/core/classes/Array.html#M000275))。 'ActiveRecord :: Base.logger = Logger.new(STDOUT)'のようにSTDOUTにログするように指示すると、 'User.where(cond1)| 'と入力してSQLクエリを見ることができます。 User.where(cond2) '。 – dontangg
- 1. "" +「or_where、 "or_where"
- 2. Rails 3では、=とassign_attributesに違いはありますか?
- 3. Rails 3スコープのテストは意味がありますか?
- 4. Rails 3用のQRコードのプラグインはありますか?
- 5. Android用の双眼鏡のAR SDKはありますか?
- 6. Rails 3のクッキーは永続的ではありません
- 7. Rails 3用のまともな画像アップロードライブラリはありますか?
- 8. CodeIgniterの `WHERE`と` or_where`
- 9. Spree 0.40.x(Rails 3)用に動作するCMS拡張はありますか?
- 10. TwitterのブートストラップテーマをRails 3アプリケーションに折り畳むための「Rails Way」はありますか?
- 11. Rails 3つのマルチステップフォーム(ファイルアップロードあり)
- 12. IDでフィルタリングし、RailsでカウントするAR
- 13. Rails 4バックポートライブラリはありますか?
- 14. Rails 3オンライン編集と保存ワード文書のサポートはありますか
- 15. Rails 3と3.2には大きな違いがありますか?
- 16. CodeIgniterで実行できるRuby on Rails 3のPHPはありますか?
- 17. Rails 3でテストする必要があります:respond_with:success
- 18. ビューは3つありますか?
- 19. Rパッケージのインストールに失敗しました:x86_64-apple-darwin13.4.0-ar:そのようなファイルまたはディレクトリはありません。 - "ar"とは何ですか?
- 20. Rails 3エラーメッセージ - 一致するルートがありません
- 21. 変更されたコードを再ロードするためのRails Consoleコマンド(Rails 3以降)はありますか?
- 22. Rails 3 Deviseセッションに値はありますが、<%if user_signed_in? %>は偽です
- 23. codeigniterアクティブなレコードwhere、or_where?
- 24. Rails 3 - ページビューをカウントするための宝石がありますか?
- 25. Rails 3 find_or_create_by_slugは重複レコードを作成することがあります
- 26. Rails 3 Fixture JoinテーブルのIDが正しくありません
- 27. モノレール - レール3アセットパイプラインに似たC#ビルドツールはありますか?
- 28. Rails 3、has_many:throughと:polymorphic - これを行う必要がありますか?
- 29. Unity AR複数のイメージターゲットが同時にありません
- 30. Google Pixel 2 XL電話機はARコアと互換性があります
訪問者への注釈: "Model.where( 'name =?OR name =?OR name =?'、 'South Carolina'、 '他の方法で問題を処理することもできますが、これもうまくいくでしょう –