Ruby on rails 设计登录页面上的所有链接重定向回登录页面
我正在用Desive替换我应用程序中现有的身份验证系统,我遇到了一些麻烦 我在登录表单下面有以下四个链接:Ruby on rails 设计登录页面上的所有链接重定向回登录页面,ruby-on-rails,devise,Ruby On Rails,Devise,我正在用Desive替换我应用程序中现有的身份验证系统,我遇到了一些麻烦 我在登录表单下面有以下四个链接: 注册(使用设计::注册控制器) 忘记密码了?(使用用户::密码控制器) 没有收到确认指示?(使用design::confirmationController) 没有收到解锁指示?(使用designe::UnlocksController) 所有这四个链接都会重定向回登录页面,我还不知道为什么。我在服务器日志中看到,这些链接正在命中相应的控制器,但它甚至没有呈现预期的页面——它只是重定向
- 注册(使用
)设计::注册控制器
- 忘记密码了?(使用
)用户::密码控制器
- 没有收到确认指示?(使用design::confirmationController)
- 没有收到解锁指示?(使用designe::UnlocksController)
编辑:以下是这些链接的代码(在
app/views/designe/shared/_links.html.erb
中):
您能告诉我们链接代码吗?您是否使用了正确的路径处理程序?@RichPeck Updated;代码在上面。在检查当前_用户(或等效用户)是否存在的某个位置执行操作之前,如果不存在,是否重定向?也许在你的ApplicationController@Doon我有在:当前用户
和:确保用户已登录
的操作前
s。尝试单独或一起对它们进行注释,但仍然不起作用。请查看您的rails日志-我猜可能是您在\u操作之前使用了:authenticate\u user在应用程序中添加code>而不添加除非::designe\u controller?
这会导致designe controller重定向到登录页面,因为现在应该打开的路由需要身份验证。
<%- if devise_mapping.registerable? && controller_name != 'registrations' %>
<%= link_to "Sign up", new_registration_path(resource_name) %><br />
<% end -%>
<%- if devise_mapping.recoverable? && controller_name != 'passwords' && controller_name != 'registrations' %>
<%= link_to "Forgot your password?", new_password_path(resource_name) %><br />
<% end -%>
<%- if devise_mapping.confirmable? && controller_name != 'confirmations' %>
<%= link_to "Didn't receive confirmation instructions?", new_confirmation_path(resource_name) %><br />
<% end -%>
<%- if devise_mapping.lockable? && resource_class.unlock_strategy_enabled?(:email) && controller_name != 'unlocks' %>
<%= link_to "Didn't receive unlock instructions?", new_unlock_path(resource_name) %><br />
<% end -%>