如何在使用 join 时在 Rails 视图中显示 HTML 元素数组(作为 HTML,而不是字符串)



我有一个名为r的对象,由于多对多关系,它具有属性subjects。我正在尝试使用link_to助手将rsubjects打印为链接,并使用join将它们连接在一起。这是我的代码:

<%= r.subjects.map { |s| link_to  s.name, subject_path(s) } .join "," %>

但是,我将 HTMLanchor元素作为字符串而不是 HTML。我想获得实际的 HTML 锚元素。

而不是join,你可以利用ActionView::Helpers::OutputSafetyHelper#safe_join。在该结果中,调用String#html_safe

<%= safe_join(r.subjects.map { |s| link_to  s.name, subject_path(s) }, ',').html_safe %>

最新更新