iOS開發人員在這裏學習Rails。試圖根據has_many
關係的屬性來查詢活動記錄中的記錄。道歉,如果這很簡單,但我無法弄清楚。我讀過有關,並已嘗試使用scope
,.where
,.joins
,但有這麼多矛盾的帖子和博客在網上我不能確定使用哪一個,什麼是正確的......Rails ActiveRecord通過has_many查找
上的問題:
我有兩個型號的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寶石)
但該命令返回Array
當我想要一個ActiveRecord::Relation
,因爲我需要做一些進一步的過濾需要這種實例類型。
任何幫助非常感謝。
是否有物品「belongs_to:物品」而不是「belongs_to:用戶」的原因? – David
是的,原因是...錯別字 –
'User.find_each {| user | user.items.find_by_title('your string')}'是一個潛在的解決方案。 – David