Маршрутизация одиночного стола?
У меня есть одно наследование таблицы, которое отлично работает для моего приложения. У меня есть два подтипа пользователя (Athlete and Company), которые наследуют пользователя супертипа.
Скажем, я перечисляю всех пользователей и хочу ссылку на каждый профиль пользователя из этого списка. Я хочу связать с контроллером спортсменов, если это тип спортсмен и контролер компаний, если этот тип является компанией. Есть ли стандартный способ Rails? Может быть, некоторые трюки маршрутизации?
Ответы
Ответ 1
вы можете сделать это намного проще, Rails распознает, к какому типу пользователя он должен иметь дело, поэтому, допустим, у вас есть переменная экземпляра @user, которая может быть либо спортсменом, либо компанией, вы можете просто сделать это
= link_to "Profile", @user
BAM! Rails magic!
Ответ 2
<% User.find(:all).each do |user| %>
<%= link_to "user", eval("#{user.type.underscore}_path(user)") %>
<% end %>
Это приведет к созданию пути в соответствии с типом пользователя (сохраненным в поле типа). Не забудьте добавить тип пользователей в конфигурацию маршрутов.
Надеюсь, это поможет.
рассматривает