2013-10-04 3 views
2

Мне нужно войти в систему fron non-devise controller. Я нашел this ссылку из DEViSE вики, но я получаю сообщение об ошибке:Devise: Вход с контроллера

wrong number of arguments (2 for 0) 

Я сделал так же, как в ссылке. Что пошло не так? Благодаря

Мой код:

sign_in(:site, Site.find(params["si"])) 
+0

Что бы польза от подписания в Пользователь вне устройства разработки? – dennis

+0

Узнайте, откуда этот метод, поставив эту строку над этим вызовом: 'p method (: sign_in) .source_location'. Запустите тесты еще раз, и теперь вы увидите, где этот метод определяется. –

+0

@RyanBigg Я поставил выше этого вызова и где я должен увидеть результат? Я ничего не видел в своей консоли. Еще раз спасибо – ishwr

ответ

1

вам нужно пройти agruments отправлять вам код для ясности

sign_in(:user, User.find(params[:id])) 
+0

Я сделал именно так. но получил неправильное количество аргументов error – ishwr

0

Я, наверное, поздно. Но у меня была такая же проблема, и, как оказалось, у меня был метод sign_in в моем контроллере пользователей.

Вы проверили метод sign_in в контроллере, где вы вызываете метод sign_in?

+0

спасибо. но я уже нашел ошибку. это была глупая ошибка. но спасибо в любом случае – ishwr

+0

Как вы это исправили? @ishwr – kibaekr

3
sign_in(:user, User.find(params[:id]) 

Если вы делаете binding.pry после того, как увидите, что current_user установлен.

По какой-то причине, после перенаправления после этого будет делать current_user nil.

Вот почему я поставил что-то в сессии, как это и затем перенаправить, а затем проверить, что идентификатор сеанса устанавливается, а затем использовать его, чтобы сделать код выше:

session[:new_user_id] = params[:id] 
+0

В качестве кода только ответ был отмечен как некачественный и, вероятно, скоро будет удален. Пожалуйста, добавьте объяснение о том, что делает этот код. – nalply

+2

Отредактировано. Не могли бы вы попробовать быть лучше? Благодарю. –

+0

Извините, это стандартный ответ, который я копирую-пасту, потому что есть много таких сообщений, как ваш. – nalply

Смежные вопросы