Придумайте: ошибка NoMethod & user_signed_in - PullRequest
1 голос
/ 07 ноября 2010

Я пытаюсь использовать user_signed_in? добавить область входа в мое приложение rails 3, используя devise 1.1.3, и я получаю NoMethodErrorin Rules # index

<% if user_signed_in? -%>
<div id="user_login_box" style="float:right">
  <%= current_user.email %> |
  <%= link_to 'My info', edit_user_registration_path %> |
  <%= link_to 'Sign out', destroy_user_session_path %>
</div>
<% end -%>

Я не уверен, что именно не так, но явно метод разработки не используется. Я также довольно (читай: действительно) новичок в рельсах и раньше не использовал devise.

Ответы [ 4 ]

5 голосов
/ 13 декабря 2010

Как называется модель, для которой вы сгенерировали Devise?

Если вы назвали ее как-то вместо Пользователь , вы можете проверить http://groups.google.com/group/plataformatec-devise/msg/67f1eb5a571b6136

3 голосов
/ 08 апреля 2012

У меня была точно такая же проблема. undefined local variable or method 'edit_user_registration_path'

Однако у меня есть devise :database_authenticatable, но не :registerable. После того как я добавил :registerable все работает!

1 голос
/ 04 февраля 2015

Может также случиться, что вы пытаетесь вызвать этот маршрут из другого движка, поэтому в этом случае вы должны указать контекст для этого маршрута, например main_app.edit_user_registration_path.

1 голос
/ 07 ноября 2010

Вы, похоже, пропускаете вызов devise :database_authenticatable в вашей User модели.

Кроме того, хороший способ начать работу с devise - посмотреть на превосходный RailsCasts от Райана Бейтса : Представляем Devise .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...