У меня есть модель пользователя. Пользователи могут иметь 1 из 3 ролей: роль1, роль2, роль3. Это представлено столбцом 'role' в модели пользователя. Каждая роль имеет уникальный профиль. role1_profile, role2_profile, role3_profile. Каждый *_профиль является моделью.
Как мне представить эту необязательную ассоциацию в Rails?
Я пробовал двумя разными способами:
class User < ActiveRecord::Base
#FIRST WAY
if current_user.role == 'role1' then has_one :role1_profile end
#SECOND WAY
has_one :role1_profile, :conditions => ['user.role = ?', 'role1']
end
Но это не работает. Какой способ является правильным?