我的单个表继承对我的应用程序工作得很好。我有两个用户子类型(运动员和公司)继承了超级用户。
假设我列出了所有用户,并希望从此列表中链接到每个用户的个人资料。我希望链接到运动员控制器,如果类型是运动员,公司控制器,如果类型是公司。是否有标准的Rails方式?也许一些路由技巧?
答案 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 %>
这将根据用户的类型生成路径(存储在类型字段中)。不要忘记将用户类型添加到路由配置中。
我希望这会有所帮助。
问候