我在共享视图中有以下if
语句:
<% if activity.holder.user.profile_type == "Manager" %>
DAMANAGER
<% elsif profile == "managers" %>
<%= link_to activity.holder.name, managers_enterprise_path(activity.holder) %>
<% else %>
<%= activity.holder.name %>
<% end %>
profile是一个本地字符串变量,它将是"enterprises"
或"managers"
,具体取决于登录的配置文件!
活动也是#each
语句的局部变量
的
视图仅在具有不同配置文件(Enterprise和Manager)的两个用户之间共享,具有以下约束:
如果经理是活动的所有者,则应显示DAMANAGER
当我看到经理时,除非持有人是经理,否则应显示一个链接以显示拥有此活动的企业。
当我看到企业时,它应该显示,谁拥有活动,持有者名称。没有链接。
所以我努力奋斗,从那里重构,这就是我现在所得到的:
<%= link_to_if (profile == 'managers'), activity.holder.name, managers_enterprise_path(activity.holder) %>
但是这不显示DAMANAGER
,而且它显示企业的id
等于经理的id
,因为它将经理传递给managers_enterprise_path
。问题是:
我如何改进?
提前致谢,请告诉我您是否需要更多代码!
答案 0 :(得分:0)
如果没有if ... else ... end
,我没有看到可行的方法。 elsif ... else ... end
部分可以替换为link_to_if
:
<% if activity.holder.user.profile_type == "Manager" %>
DAMANAGER
<% else %>
<%= link_to_if profile == "managers", activity.holder.name, managers_enterprise_path(activity.holder) %>
<% end %>