Ваш метод after_create
не будет работать, потому что вы пытаетесь передать user
, что не так уж много в модели. Все пользовательские атрибуты фактически доступны как переменная экземпляра, поэтому вместо этого вам следует сделать:
def assign_role_after_sign_up
RoleAssignment.create(:role_id => 1, :user_id => id)
end
Если у вас есть отношения между пользователями и role_assignments (а если нет, то почему бы и нет?), Вы можете просто сделать это вместо этого:
# If user :has_one :role_assignment
def assign_role_after_sign_up
create_role_assignment(:role_id => 1)
end
# If user :has_many :role_assignments
def assign_role_after_sign_up
role_assignments.create(:role_id => 1)
end