设计:NoMethod错误& user_signed_in

时间:2010-11-07 04:27:27

标签: ruby-on-rails-3 login devise

我正在尝试使用user_signed_in?使用设计1.1.3向我的rails 3应用程序添加登录区域,我得到NoM​​ethodErrorin规则#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 -%>

我不确定究竟有什么问题,但显然没有使用设计方法。我也很公平(读:真的)新的rails并且之前没有使用过设计。

4 个答案:

答案 0 :(得分:5)

您为Devise创建的模型的名称是什么?

如果您将其称为其他内容而不是用户,则可能需要查看http://groups.google.com/group/plataformatec-devise/msg/67f1eb5a571b6136

答案 1 :(得分:3)

我有完全相同的问题。     undefined local variable or method 'edit_user_registration_path'

但是,我有devise :database_authenticatable,但不是:registerable。我添加:registerable之后一切正常!

答案 2 :(得分:1)

您似乎错过了devise :database_authenticatable模型中User的来电。

此外,开始设计的一个好方法是查看Ryan Bates的优秀的 RailsCasts Introducing Devise

答案 3 :(得分:1)

您可能会尝试从另一个引擎调用该路由,因此在这种情况下您必须指定该路由的上下文,例如main_app.edit_user_registration_path