ここで Rails を学習している iOS 開発者。has_manyリレーションのプロパティに基づいてレコードのアクティブ レコードをクエリしようとしています。これが単純な場合は申し訳ありませんが、私はそれを理解できません。scope、.where、について読み、使用しようとしてきまし.joinsたが、オンラインには相反する投稿やブログがたくさんあり、どれを使用して何が正しいのかわかりません...
問題に:
2 つの ActiveRecord モデルがあります。
class User < ActiveRecord::Base
has_many :items
end
と
class Item < ActiveRecord::Base
belongs_to :user
end
アイテムには プロパティ があります。文字列形式の検索パラメータに似た を持つアイテムを持つtitleすべての を見つけようとしています。Usertitle
アイテムの検索を使用してそのようなことを行うことができたので、次.mapのようにします。
users_owning_item_in_search_parameter = Item.where{ (title =~ my{@search_param + "%"}) }.map! { |i| i.user }
(その構文はsqueel gem から来ています。)
しかし、このインスタンス タイプを必要とするさらにフィルタリングを行う必要があるため、このコマンドは が必要なArrayときに を返します。ActiveRecord::Relation
どんな助けでも大歓迎です。