微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ruby-on-rails – 别名路由名称

我需要通过多个名称访问一个路径.在我的路线
get '/route' => 'controller#edit',:as => 'name_a'
get '/route' => 'controller#edit',:as => 'name_b'

这很好,但加载路由表什么也没有.从我对文档的理解:定义一个辅助方法调用.

所以我去了我的ApplicationController并补充说

alias_method :name_b,:name_a

我从routes.rb中删除了第二行

但是失败与Uncaught异常:ApplicationController类的未定义方法name_a

有没有一个适合的方法来为单个路径命名两个名字?

=================编辑====================
阐述:

我使用Devise宝石管理2种用户的会话,注册,锁定等,让我们称之为Admin和Guest.宝石是非常好的,但它要求确定的路由名称行为正常.

在我的情况下,就设计而言,只有注册过程是不同的,所以我试图构建一个如下所示的结构:

app
  controllers
    users
        admin
            registration_controller.rb
        guest
            registration_controller.rb
        session_controller.rb
        password_controller.rb
        registration_controller.rb

Admin和Guest控制器继承自Devise所继承的上述registration_controller.

现在,要正常工作,Devise需要使用名称guest_user_password和admin_user_password来创建或删除密码检索.在我的情况下,两者都在相同的路径,所以我想要两个名称重定向到相同的“用户/密码”控制器.

更重要的是,这就是为什么我真的想要嘲笑.这是我的观点不应该关心在重定向到密码检索控制器时是否处理管理员和访客路由.两者都是用户,所以我想使用user_password两者.

所以我的问题.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐