Rails 3.1 Ransack HABTM
Posted
技术标签:
【中文标题】Rails 3.1 Ransack HABTM【英文标题】: 【发布时间】:2012-07-22 02:02:42 【问题描述】:Ransack 是否支持 HABTM?
拥有模型:
选购 HABTM 类别 类别 HABTM 商店我可以使用 ransack 按单个类别搜索商店吗? 表格是什么样子的?
【问题讨论】:
【参考方案1】:我认为您尝试使用的字段是
:categories_id_eq
用法是这样的
<%= f.label :categories_id_eq, "Category" %>
<%= f.collection_select :categories_id_eq, Category.order(:title), :id, :title %>
【讨论】:
【参考方案2】:您应该知道存在一些问题: 虽然这很好用
:categories_id_eq
如果您想查找任何类别的产品,您可以使用
:categories_id_in
但是,如果您需要选择属于所有类别的产品,它将无法按预期工作:
:categories_id_all
返回零结果见讨论:
Rails, Ransack: How to search HABTM relationship for "all" matches instead of "any"
Convert ActiveRecord habtm query to Arel .
【讨论】:
以上是关于Rails 3.1 Ransack HABTM的主要内容,如果未能解决你的问题,请参考以下文章
Rails,Ransack:如何在 HABTM 关系中搜索“所有”匹配项而不是“任何”匹配项