我有一个root用户博客
root 'posts#index'
最适用于example.com/
到example.com/posts
但我想要的是这样的:
example.com/blog/posts/1
。
我尝试创建博客Controller
并添加
resources :blog do
resources :posts
end
但这是我的路线blog/:id/posts/:id
答案 0 :(得分:1)
如果您没有提到<configuration>
<suiteXmlFiles>
<!-- TestNG suite XML files -->
<suiteXmlFile>/path/to/xml/Suite1.xml</suiteXmlFile>
<suiteXmlFile>/path/to/xml/Suite2.xml</suiteXmlFile>
</suiteXmlFiles>
<testSourceDirectory>src/main/java</testSourceDirectory>
</configuration>
和post
之间的关系,那么rails会让您自由地将路由声明为我们自己的路径。
因此,要将路线blog
设为example.com/posts/1
,只需在最后添加自定义路线。
example.com/blog/posts/1
这样做会超越之前的路线并使这条路线最终。
现在输入rake路线,它将为您提供最后一条路线,
get '/blog/posts/:id', to: :show, controller: 'posts'
现在您可以使用
进行访问 GET /blog/posts/:id(.:format) posts#show
答案 1 :(得分:0)
只是为了扩展@Sravan的答案。如果您有多个以/ blog /开头的路线,您可能需要检查Rails guide on routing。
您可以添加
的内容scope '/blog' do
resources :posts
resources :users
resources :images
end
将在/ blog /.
下创建相应的路线答案 2 :(得分:0)
namespace :blog do
resources :posts
resources :users
resources :images
end
具有命名空间的控制器将如下所示: Blog :: PostsController