将标题显示限制为管理员用户 - 自定义 html 助手

Restrict title display to admin users - custom html helper

我的 HTML 代码中有一个标题通过 ruby 显示文本(顺便说一下,这些单元格有很多示例):

<td title="id:<%= alert.id %>">Hello</td>

我将创建一个辅助方法(例如):

def admin?
  # check if this user is an admin
end

如何使用此辅助方法将标题的显示限制为管理员用户?

<%= content_tag :td, 'Hello', title: ("id:#{alert.id}" if admin?) %>

我必须创建一个助手来检查管理员用户:

def admin?
  # check if this user is an admin
end

然后我必须创建一个自定义助手,其中 returns 管理员用户的头衔:

def generate_title(this)
    if admin?
      "id:#{this}"
    end
  end

最后更新我的单元格以使用自定义助手:

<td title="<%= generate_title(alert.id) %>">Hello</td>

一切都是为了 custom helpers

做这样的事情:

 <td <%="title=\"id:#{alert.id}\"" if admin?%>>Hello</td>

您可以使用 "short-if" 变体来决定内联显示的内容,在您的 HTML 标签属性中:

title="id:#{admin? ? alert.id : ''}"

阅读有关 short-if format 的更多信息。