的Rails 3路由
问题描述:
我有一个community_users模型,我以下列方式路线:的Rails 3路由
resources :communities do
resources :users
end
这将创建路线/communities/:id/users/
。
我想配置此路由,以便只显示具有相应:id的社区名称。
换句话说,如果一个社区有 '1' 的ID和名称为 '轨道爱好者' - 的路线将是:
/rails-lovers
,而不是:
/communities/1/users/
答
我不十分肯定,如果这是你在找什么,但:
一种选择是创建路线
match ':community_name' => 'users#show_users_for_community'
然后在UsersController有
def show_users_for_community
@community = Community.find_by_name(params[:community_name])
<do what you need to do here>
end
我不知道如果路由将匹配了过多的网址或不 - 这是一个非常普遍的路线。所以如果你这样做,也许把它放在你的路线文件中。