【问题标题】:Creating routes with passing parametr使用传递参数创建路由
【发布时间】:2020-02-05 20:01:06
【问题描述】:

我需要创建一个 rout,其 url 如下所示:www.sitename.com/action_name/[:id] 写成这样:

get '/how-to-transfer-colleges/:id', to:'seo_pages#how_to_transfer_colleges'
get '/how-to-transfer-colleges', to: 'seo_pages#how_to_transfer_colleges'

但我知道应该按范围写,我按指南写:

scope module :users do 
  resources :how_to_transfer_colleges
end

这不起作用,我知道范围写错了。对于使用范围正确创建此溃败的任何帮助,我将不胜感激

【问题讨论】:

    标签: ruby-on-rails url routing rails-routing


    【解决方案1】:

    查看指南https://guides.rubyonrails.org/routing.html#controller-namespaces-and-routing

    scope module: :users do # note the ":" after "module"
      ....
    end
    

    请注意,您不会使用该范围获得相同的路径。你会在 url 上有类似 /users/how-to-transfer-colleges 的东西,它会指向 UsersController。

    我不认为它“应该”写成一个范围,你可以让它保持原样,我看不出有什么好处,我认为你想多了。路线助手可以提供帮助,如果您不需要,您可以随意不使用它们。

    【讨论】:

      【解决方案2】:

      感谢所有关注此问题的人。这是我找到的解决方案,也是我一直在寻找的:

      scope:'how-to-transfer-colleges', as: :how_to_transfer_colleges do
        get '/:id', to: 'seo_pages#how_to_transfer_colleges'
        get '/', to: 'seo_pages#how_to_transfer_colleges'
      end
      

      希望对某人有所帮助

      【讨论】:

        猜你喜欢
        • 2020-01-23
        • 2016-11-07
        • 1970-01-01
        • 2015-11-21
        • 2023-01-04
        • 2021-08-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多