ruby-on-rails - Rails 通过 has_and_belongs_to_many 属性进行过滤

标签 ruby-on-rails ruby

我遇到了一点问题!我有一个 Place 模型和一个 Category 模型,它们通过 has_and_belongs_to_many 连接。我希望能够过滤掉属于给定数组(id 的 int 数组)中至少一个类别的所有位置。到目前为止,我只能使用以下代码按单个类别进行过滤:

@places = Place.find(:all, :include => :categories, :conditions => { "categories_places.category_id" => id})

所以基本上我想要的是 id 而不是 id。希望这里有一些rails专家可以帮忙!我对此很陌生。

最佳答案

这应该能很好地达到目的。

some_array_of_ids = [1, 2, 3]
@places = Place.find(:all, :include => :categories, :conditions => ['categories.id IN (?)', some_array_of_ids)

关于ruby-on-rails - Rails 通过 has_and_belongs_to_many 属性进行过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6428490/

相关文章:

ruby - 使用 Ruby 2.0.0 在 Windows x64 上安装 AppFog 客户端

ruby - ActiveSupport::Concern.. 弃用警告中的 InstanceMethods 模块

c++ - 多次调用 ruby​​_init 和 ruby​​_finalize

ruby-on-rails - 未定义的局部变量或方法 `searchkick'

ruby-on-rails - 在Rails中覆盖default_scope

Rails 中的 JavaScript 错误

html - 使用 Nokogiri 解析 HTML(不遵循 HTML 语义)

ruby-on-rails - 在特定时间安排延迟作业

ruby-on-rails - 如果子数据不存在,如何获取父数据

ruby-on-rails - 请帮助解决 stringify_keys 错误的 rails 问题