【问题标题】:How do I rename a resources routes?如何重命名资源路由?
【发布时间】:2013-02-02 16:41:24
【问题描述】:

如何重命名其中一些路由...例如,下面我想在我的控制器中使用 signup_path 而不是 signup_sessions_path...

 resources :sessions, only: [] do
        collection do
          post    :signup, :as => :signup
          post    :login
          delete  :logout
        end
      end

【问题讨论】:

    标签: ruby-on-rails resources routes


    【解决方案1】:

    尽量不要将路由嵌套在 resources :sessions 下,而是使用 to: 选项,如下所示:

    post :signup, to: 'sessions#signup', as: :signup, on: :collection
    

    不太确定你在那里的收藏,但我相信你明白它的要点

    更新

    根据您的评论,截至今天,我不知道有什么方法可以从嵌套资源路由的路径名中删除嵌套路由资源名。换句话说,任何嵌套都是故意使用资源的范围,因此除了将其从资源块中取出之外,没有其他选项可以恢复该行为。

    【讨论】:

    • 我知道这一点,但我想使用“资源”而不是您推荐的格式。我查看了代码,似乎“资源”无法做到这一点。
    • 好吧,不。任何嵌套都是故意使用资源的范围。它不明白为什么你要改变它?为什么要将路径嵌套在资源下只是为了有一个选项说它不应该嵌套??
    • 哈哈!!!!我的其他代码的一致性......这就是全部!只是想知道它是否可能,谢谢。
    • 大声笑没问题 :) 我已经更新了答案以反映您的“真实”问题
    猜你喜欢
    • 2015-03-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-30
    • 2013-11-16
    • 1970-01-01
    • 1970-01-01
    • 2011-03-30
    相关资源
    最近更新 更多