【发布时间】:2014-08-07 02:25:12
【问题描述】:
我有一个has_many through 关联如下:
has_many :bookmarks, -> {where('actions.bookmark=true')},
:through => :actions,
:source => :object
我想做的是扩展上述内容以传递书签对象的类别。类似于以下内容:
has_many :bookmarks, -> (category) {where('actions.bookmark=true and objects.category=?', category)},
:through => :actions,
:source => :object
我希望它可以让我进行诸如user.bookmarks("papers") 之类的查询。但是,当我尝试上述方法时,category 采用#<User:0x000001017f2090> 的值(基本上是上面调用中的user),我似乎无法使用简单的字符串调用关联。
关于如何实现这一点的任何建议?非常感谢。
【问题讨论】:
-
我看到在您的
where查询中,您传递的是cat而不是category。这只是为了您的问题简洁吗?
标签: ruby-on-rails activerecord associations has-many