Ruby on rails Rails ActiveRecord find-through有很多
iOS开发者学习Rails。试图根据Ruby on rails Rails ActiveRecord find-through有很多,ruby-on-rails,ruby,ruby-on-rails-3,activerecord,join,Ruby On Rails,Ruby,Ruby On Rails 3,Activerecord,Join,iOS开发者学习Rails。试图根据查询活动记录中的记录有许多关系的属性。如果这很简单,我很抱歉,但我就是搞不懂。我已经阅读并尝试使用范围,。where,。joins,但网上有太多相互矛盾的帖子和博客,我不确定该使用哪一个,什么是正确的 关于这个问题: 我有两种ActiveRecord型号: class User < ActiveRecord::Base has_many :items end (该语法来自gem。) 但当我需要ActiveRecord::Relation时,该命令会
查询活动记录中的记录有许多关系的属性。如果这很简单,我很抱歉,但我就是搞不懂。我已经阅读并尝试使用范围
,。where
,。joins
,但网上有太多相互矛盾的帖子和博客,我不确定该使用哪一个,什么是正确的
关于这个问题:
我有两种ActiveRecord型号:
class User < ActiveRecord::Base
has_many :items
end
(该语法来自gem。)
但当我需要ActiveRecord::Relation
时,该命令会返回一个数组
,因为我需要执行需要此实例类型的进一步筛选
非常感谢您的帮助。我想您正在寻找这样的帮助:
users_owning_item_in_search_parameter = Item.where{ (title =~ my{@search_param + "%"}) }.map! { |i| i.user }
User.joins(:items).where('items.title LIKE ?', "#{@search_param}%")
如果您想利用squel,您必须对其进行一些修改。我想您正在寻找这样的功能:
users_owning_item_in_search_parameter = Item.where{ (title =~ my{@search_param + "%"}) }.map! { |i| i.user }
User.joins(:items).where('items.title LIKE ?', "#{@search_param}%")
如果您想利用squel,您必须对其进行一些修改。项目属于\u:items
而不是属于\u:users
有什么原因吗?是的,这个原因是。。。打字错误User.find_each{| User | User.items.find_by_title('your string')}
是一个潜在的解决方案。items为什么属于:items
而不是属于:users
?是的,这个原因是。。。打字错误User.find_each{| User | User.items.find_by_title('your string')}
是一个潜在的解决方案。这让我很尴尬!如果有人想知道,谢谢你:User.joins(:items)。where{items.title=~my{param+“%”
这让我很尴尬!如果有人想知道,谢谢你:User.joins(:items)。where{items.title=~my{param+“%”