我有一个名为“类别”的行的帖子模型,它存储带有类别的字符串。我想更改我的路线,如果我进入"blog"
类别,那么它将显示如下地址:mysite.com/blog/1
或者如果我的帖子类别将"portfolio"
显示我的帖子地址等mysite.com/portfolio/2
。是否可以不制作另一个表格并在那里存储类别?我正在考虑一些路线if
声明,但目前无法弄清楚它的任何内容。任何帮助将不胜感激。
问问题
1232 次
2 回答
1
你为什么不把它们全部抓住
match ':category/:id' => 'posts#show'
然后您可以按控制器中的哈希:category
值进行过滤。params
@post = Post.where category: params[:category], id: params[:id]
于 2012-11-12T20:18:08.147 回答
1
我认为你可以这样做!
CATEGORIES = %w[portfolio blog sites]
CATEGORIES.each do |cat|
get cat + '/:id', controller: 'post', action: 'show'
end
或者有一个范围:
CATEGORIES = %w[portfolio blog sites]
CATEGORIES.each do |cat|
scope cat do
get '/:id', controller: 'post', action: 'show'
end
end
于 2012-11-12T20:17:18.733 回答