У меня есть следующее
has_many :administrators, :class_name => "User", :conditions => "role_id = 4"
и работает нормально, но вместо использования внешнего ключа
"role_id = 4"
Я бы предпочел указать фактическую строку роли в таблице ролей, к которой относится этот внешний ключ, например "Admin"
UPDATE:
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"}}