1

我有这些模型:

Category(:name)
Post(:category_id, :title, :body)

类别模型只有少数类别,目前我可能的路线是:

/tasks/15015
/categories/5/posts/5641841

我想有一个这种格式的友好网址,但我想不出一种不完全使用通配符并弄乱其他路线的方法:

/politics/518-obama-health-care

正如我所说,我尝试了这个,但如果可能的话,我正在寻找更少的通配符并与当前类别更集成的东西:

match '(:category_name)/(:id)' => 'posts#show'

欢迎任何其他想法!

4

1 回答 1

1

把它放在最后,这样它就不会干扰你的任何其他路线。然后在你的那个检查中放一个before_filter(仅用于showPostsController以确保它:category_name是有效的,如果它没有引发ActionController::RoutingError

于 2012-08-12T05:47:29.347 回答