我试图覆盖页面上显示的输出,只要它满足我的Ruby方法的条件。
此页面应显示仅在活动参数指定了角色时才编辑活动的用户。
以下是该方法的示例:
def activity_by_role(data)
if !data.include?(:role)
content_tag(:div, content_tag(:p, "Not Permitted"), class: "strong")
end
end
我使用以下代码在视图中调用该方法:
<%= render_activity activity unless activity_by_role(activity.parameters) %> | created at <%= activity.created_at %>
如果用户名后面有空白,我希望它显示&#34; Not Permitted&#34;。它显示编辑的&#34;项目&#34;是如何显示该活动输出。
有关如何显示文字的任何建议&#34; Not Permitted&#34;如果活动参数不符合条件?
答案 0 :(得分:1)
如果我理解你的问题,你可以在视图助手中简单地渲染两种可能性:
# helper:
def render_activity_by_role(activity)
if activity.parameters.include?(:role)
render_activity(activity)
else
content_tag(:div, content_tag(:p, "Not Permitted"), class: "strong")
end
end
# view:
<%= render_activity_by_role(activity) %> | created at <%= activity.created_at %>