在 Rails 中更改路线路径

Change route path in Rails

我有一个资源,我想更改其路径。

resources :blog_posts

这使得路径 localhost:3000/blog_posts/:id

我该怎么做,而不是在它前面加上 "blog_posts",ID 紧随其后,就像这样? localhost:3000/:id

我猜想有办法让它变得动态,所以我不必为每个新博客都做一个 get post。

回答

get '/:id', to: 'blog_posts#show', as: :show_blog_post

您需要 as: :show_blog_post,因为那里没有前缀。例如,您可以调用 show_blog_post_path(@blog_post)

您可以定义另一条路线,例如:get '/:id', to: 'blog_posts#show'