创建网址,例如:user /:post in rails

时间:2014-07-21 19:15:32

标签: ruby-on-rails ruby url routing

我只是想知道如何在理论上将网址设置为localhost:3000 /:user / post /:post like twitter https://twitter.com/PigsAndPlans/status/491290440512331776以及如何为帖子提供像http://vine.co/v/M2JYAhg3HHY这样的数字和字母的唯一ID。

由于

2 个答案:

答案 0 :(得分:1)

路线文件中的类似内容将匹配第一个网址格式

match ":username/post/:post_id", to: "users_posts#index"

并在控制器中为您提供params[:username]params[:post_id]个变量。但是,要非常谨慎地考虑将变量(:username)作为路径的第一部分。您必须确保您的应用永远不需要与该模式冲突的网址。更好的方法是使用您提供的藤蔓网址模式,其前缀为/v

答案 1 :(得分:0)

您可以使用config / routes.rb

中的以下代码创建网址格式
resources :users do
  resources :posts
end

# http://localhost:3000/users/:user_id/posts/:post_id