Я пытаюсь создать приложение с Rails 4 & devise.Rails 4, Devise & Omniauth - нет ошибки метода
Я пытаюсь следовать этому учебнику:
http://sourcey.com/rails-4-omniauth-using-devise-with-twitter-facebook-and-linkedin/
Когда я выполнить шаги, и запустить сервер, я получаю эту ошибку
NoMethodError (undefined method `update' for nil:NilClass):
2015-12-14T20:37:03.180526+00:00 app[web.1]: app/controllers/users_controller.rb:43:in `finish_signup'
2015-12-14T20:37:03.180540+00:00 app[web.1]:
финишной регистрации метод:
def finish_signup
# authorize! :update, @user
if request.patch? && params[:user] #&& params[:user][:email]
if @user.update(user_params)
@user.skip_reconfirmation!
sign_in(@user, :bypass => true)
redirect_to @user, notice: 'Your profile was successfully updated.'
else
@show_errors = true
end
end
end
Конкретная линия, идентифицированная как проблема lem is:
if @user.update(user_params)
Кто-нибудь видит, что происходит не так? Я не знаю, как прочитать ошибку, чтобы понять, о чем она жалуется. Может ли кто-нибудь увидеть проблему?
Вы не инициализирует переменную @user. –
Привет, мне очень жаль, но не уверен, что вы имеете в виду. Вы имеете в виду, что я должен написать @current_user вместо этого? – Mel
У вас есть 'before_action: set_filter', как в примере? В противном случае нет' @ user' –