Я хочу переопределить действие RegistrationsContollers
'Devise, чтобы при регистрации пользователя я мог связать модель UserProfile
с этим пользователем.
Итак, следуя рекомендациям в Readme Readme,Я переопределяю действие:
#File app/controllers/registrations_controller.rb:
class Users::RegistrationsController < Devise::RegistrationsController
def create
# some code here..
self.user_profiles.build #Error (no method `user_profiles`)
current_user.user_profiles.build #Error (current_user is nil)
some other way???
end
end
#File routes.rb:
devise_for :users, :controllers => { :registrations => 'users/registrations' }
Devise создает запись в таблице users
, но как мне связать UserProfile
с этой записью?
Я пробовал поискать в Googleно я просто не могу заставить это работать!Любая помощь приветствуется.
(сейчас я использую Devise 1.1.5 в Rails 3.0.3)
решено:
Добавление решениядля других:
#File app/controllers/registrations_controller.rb:
class Users::RegistrationsController < Devise::RegistrationsController
def create
super
@user.build_user_profile
@user.user_profile.some_data = 'abcd'
@user.save!
end
end