私は次のものを持っています
has_many :administrators, :class_name => "User", :conditions => "role_id = 4"
正常に動作しますが、外部キーを使用する代わりに
"role_id = 4"
その外部キーが関連する役割テーブルで実際の役割文字列を指定することをお勧めします。たとえば、「管理者」などです。
アップデート:
SELECT *
FROM users u, roles r
WHERE u.role_id = r.id
AND r.role = "Admin"
更新 2
このようなことはできませんか: (これは機能しませんが、私がやろうとしていることを示しています)
has_many :administrators, :class_name => "User", :conditions => { :role => {:name => "Admin"}}