单表继承路由?

时间:2009-06-03 06:13:39

标签: ruby-on-rails ruby inheritance

我的单个表继承对我的应用程序工作得很好。我有两个用户子类型(运动员和公司)继承了超级用户。

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

2 个答案:

答案 0 :(得分:2)

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

= link_to "Profile", @user

BAM! Rails魔术!

答案 1 :(得分:-3)

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

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

我希望这会有所帮助。

问候