相当于match 'aliased/route/here' => 'pointed/route/here'
什么?
我在这里把头撞到墙上,因为我无法让 Devise 为同一模型使用不同的登录 url。如果有人对此问题有提示,我将不胜感激!
我的路线的当前版本如下所示:
auth.devise_for :somerole, :class_name => 'MainRole', :as => 'niceurl'
auth.devise_for :anotherrole, :class_name => 'MainRole', :as => 'otherurl'
但该:class_name
选项并非所有工作:我仍然需要为我定义的每个角色创建所有适当的助手。
我目前在 Rails 2.3.8 环境中使用 Devise 1.x,这就是为什么 Github 上提供的解决方案和其他问题中提到的解决方案不起作用的原因。
提前致谢!
更新
好的,所以我找到了让 Devise 工作的解决方法:我在其中创建了一个方法,application_controller
它收集我所有不同的角色并将其分配给 mainrole,如下所示:
def current_mainrole
current_somerole || current_anotherrole
end
我担心它可能会引入一些安全漏洞,而且它看起来真的像一个黑客,所以我希望仍然有人可以帮助我解决路由问题。