什么是devise_mapping变量,我该怎么包含它? [英] what is the devise_mapping variable and how can I include it?
问题描述
未定义的局部变量或方法`devise_mapping'for#< ActionView :: Base: 0x6d63890>
这是当我使用自动生成的部分_devise_links.html。
<% - 如果controller_name!='sessions'%>
<%= link_to t('devise.sessions.link'),new_session_path(resource_name)%>< br />
<%end - %>
<% - 如果devise_mapping.registerable? &安培;&安培; controller_name!='registrationrations'%>
<%= link_to t('devise.registrations.link'),new_registration_path(resource_name)%>< br />
<%end - %>
<% - 如果devise_mapping.recoverable? &安培;&安培; controller_name!='passwords'%>
<%= link_to t('devise.passwords.link'),new_password_path(resource_name)%>< br />
<%end - %>
<% - 如果devise_mapping.confirmable? &安培;&安培; controller_name!='confirmations'%>
<%= link_to t('devise.confirmations.link'),new_confirmation_path(resource_name)%>< br />
<%end - %>
<% - 如果devise_mapping.lockable? &安培;&安培; controller_name!='unlocks'%>
<%= link_to t('devise.unlocks.link'),new_unlock_path(resource_name)%>< br />
<%end - %>
有关如何解决这个问题的任何想法?我假设devise_mapping变量没有被包含在我的视图中,但是我该怎么做?
我意识到这个问题很古老,但我想我知道为什么你不能只是渲染这个部分。您尝试呈现的部分是部分显示在sign_in / sign_up表单下方的链接。
如果您要将这些链接添加到您的应用程序,这个Devise Wiki的页面将告诉你如何做,它涉及创建自己的部分。
I'm trying to implement authentication with Devise in my Rails application (Rails 2.3.8, Devise 1.0.7, mongrel running on Windows Vista). But I'm getting the following error:
undefined local variable or method `devise_mapping' for #<ActionView::Base:0x6d63890>
This is when I use the auto-generated partial _devise_links.html.
<%- if controller_name != 'sessions' %>
<%= link_to t('devise.sessions.link'), new_session_path(resource_name) %><br />
<% end -%>
<%- if devise_mapping.registerable? && controller_name != 'registrations' %>
<%= link_to t('devise.registrations.link'), new_registration_path(resource_name) %><br />
<% end -%>
<%- if devise_mapping.recoverable? && controller_name != 'passwords' %>
<%= link_to t('devise.passwords.link'), new_password_path(resource_name) %><br />
<% end -%>
<%- if devise_mapping.confirmable? && controller_name != 'confirmations' %>
<%= link_to t('devise.confirmations.link'), new_confirmation_path(resource_name) %><br />
<% end -%>
<%- if devise_mapping.lockable? && controller_name != 'unlocks' %>
<%= link_to t('devise.unlocks.link'), new_unlock_path(resource_name) %><br />
<% end -%>
Any ideas on how to fix this? I'm assuming the devise_mapping variable is not getting included in my views, but what do I do about it?
I realize this question is kind of old, but I think I figured out why you can't just render that partial. The partial you're trying to render is the partial for the links that show up below the sign_in/sign_up form.
If you'd like to add those links to your application, this page on the Devise Wiki will show you how to do it, and it involves creating your own partial(s).
这篇关于什么是devise_mapping变量,我该怎么包含它?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!