【发布时间】:2010-11-08 20:30:16
【问题描述】:
我是 Rails 的新手,所以如果这是一个愚蠢的问题,请不要杀了我 =P
我有以下型号:
class Profile < ActiveRecord::Base
has_and_belongs_to_many :sectors
has_and_belongs_to_many :languages
class Sector < ActiveRecord::Base
has_and_belongs_to_many :profiles
end
class Language < ActiveRecord::Base
has_and_belongs_to_many :profiles
end
我正在寻找一种优雅的方式(如果可能,无需编写 sql 连接或任何东西)来获取具有特定部门和特定语言的所有配置文件。
我已经用谷歌搜索了,但我只能找到如何为 1 个 habtm 执行此操作,但我需要 2 个。
我只有以下几点:
def some_method(sector_id, language_id)
Sector.find(sector_id).profiles
end
但是我不知道如何通过 language_id 添加过滤器而不会弄乱连接条件或编写 sql,当然,所有在一个查询中......有没有一种干净/优雅的方式来做到这一点?
谢谢!
【问题讨论】:
-
真的有“rails”的方法吗?还是我只是在做梦? =P....如果没有请告诉我,我会使用正常的 :join 和其他东西。
标签: ruby-on-rails activerecord has-many