我想要一条路线:
get '/posts/new' => 'posts#new'
get '/:username/posts/:id' => 'posts#show'
get '/:username/posts' => 'posts#index'
可通过帮助者访问,如:
new_post_path #=> new -
post_path(post) #=> show - :username implied from post
posts_path #=> index - :username implied from session
posts_path(user) #=> index - :username explicit
我想用资源丰富的语义来做这件事,而不是手工指定每条路线。此外,我不确定如何使网址助手聪明。
几点思考?
答案 0 :(得分:0)
我假设您想拥有嵌套路线。这可以让你更接近你正在寻找的东西。
您的routes.rb文件中的:
resources :users do
resoures :posts
end
这会产生这样的路径:
/users
/users/:user_id
/users/:user_id/posts
/users/:user_id/posts/:id
然后你可以从那里调整你的路线,以便/posts/new
指向你的帖子控制器,如下所示:
(未经测试且不确定这是100%正确所以有人请加入)
resources :users do
resoures :posts do
match "/posts/new", :to => "posts#new"
end
end