如何在 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]

(这将得到 http://localhost:3000/game/first-game