如何在 rails 中获得自定义 url 4
How to get custom url in rails 4
我已经用脚手架创建了 rails 项目
http://localhost:3000/games/
当我添加新游戏时,我得到 url 作为
http://localhost:3000/games/first-game
我想把这个改成
http://localhost:3000/game/first-game
要么
http://localhost:3000/first-game
我的路线文件有
resources :games
您可以像这样为您的操作创建自定义路线:
get '/games/first-game' => 'Games#first_game'
你可以这样做:
resources :games
member do
get 'first-game', to: 'games#first_game', as: :first_game
end
end
阅读 Naming Routes 指南。
如果您希望资源 games
作为根路径,您可以在 routes.rb[=18 中将其路径设置为 '/' =]
resources :games, path: '/'
如果您只想将其用于 show
操作(正如我想的那样),请使用:
resources :games, path: '/', only: [:show]
resources :games, except: [:show]
(这将得到 http://localhost:3000/first-game)
或者第三种,这可能是避免冲突路由的最明智的方法,使用单数 'game' 路径调用 show
操作:
resources :games, path: 'game', only: [:show]
resources :games, except: [:show]
我已经用脚手架创建了 rails 项目 http://localhost:3000/games/
当我添加新游戏时,我得到 url 作为 http://localhost:3000/games/first-game
我想把这个改成 http://localhost:3000/game/first-game 要么 http://localhost:3000/first-game
我的路线文件有
resources :games
您可以像这样为您的操作创建自定义路线:
get '/games/first-game' => 'Games#first_game'
你可以这样做:
resources :games
member do
get 'first-game', to: 'games#first_game', as: :first_game
end
end
阅读 Naming Routes 指南。
如果您希望资源 games
作为根路径,您可以在 routes.rb[=18 中将其路径设置为 '/' =]
resources :games, path: '/'
如果您只想将其用于 show
操作(正如我想的那样),请使用:
resources :games, path: '/', only: [:show]
resources :games, except: [:show]
(这将得到 http://localhost:3000/first-game)
或者第三种,这可能是避免冲突路由的最明智的方法,使用单数 'game' 路径调用 show
操作:
resources :games, path: 'game', only: [:show]
resources :games, except: [:show]