单表inheritance路由?

我有单表inheritance适用于我的应用程序。 我有两个用户子类型(运动员和公司)inheritance了超级用户。

假设我列出了所有用户,并希望从此列表中链接到每个用户的个人资料。 我想链接到运动员控制器,如果类型是运动员,公司控制器,如果类型是公司。 是否有标准的Rails方式? 也许一些路由技巧?

你甚至可以做得那么简单,Rails会识别它必须处理哪种类型的用户,所以假设你有实例变量@user wich可以是运动员或公司,你可以这样做

= link_to "Profile", @user 

BAM! Rails魔术!

 <% User.find(:all).each do |user| %> <%= link_to "user", eval("#{user.type.underscore}_path(user)") %> <% end %> 

这将根据用户的类型生成路径(存储在类型字段中)。 不要忘记将用户类型添加到路由配置中。

我希望这有帮助。

问候