ここで 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
すべての を見つけようとしています。User
title
アイテムの検索を使用してそのようなことを行うことができたので、次.map
のようにします。
users_owning_item_in_search_parameter = Item.where{ (title =~ my{@search_param + "%"}) }.map! { |i| i.user }
(その構文はsqueel gem から来ています。)
しかし、このインスタンス タイプを必要とするさらにフィルタリングを行う必要があるため、このコマンドは が必要なArray
ときに を返します。ActiveRecord::Relation
どんな助けでも大歓迎です。