【发布时间】:2016-05-14 02:28:14
【问题描述】:
我有来自 RefineryCMS 的以下视图 refinery/portfolio/items/_item.html.erb 并且由于某种原因我的数据属性没有被呈现到 DOM 中。
据我了解,RefineryCMS 似乎可能会删除它们?
Rails 4.2.6 和 RefineryCMS 的最新主分支
这是我的 ERB 模板:
<li class="col-md-3 col-xs-6 thumb">
<a class="thumbnail" data-toggle="tab" data-target="#tab_<%= dom_id(item) %>">
<%= image_tag(item.image.url, {:title => item.title}) %>
</a>
</li>
也试过了:
<li class="col-md-3 col-xs-6 thumb">
<%= link_to "", class: "thumbnail", data: { toggle: "tab", target: "#tab_#{dom_id(item)}" } do %>
<%= image_tag(item.image.url, {:title => item.title}) %>
<% end %>
</li>
然后它将 HTML 呈现为:
<a class="thumbnail">
<img title="title" src="/img.png" alt="alt_title">
</a>
【问题讨论】:
-
是原始 HTML 输出还是来自检查器的 DOM?我高度怀疑炼油厂正在修改它——尤其是前一个示例,您直接打印到 ERB 模板。虽然可以在实际发送“缓冲区”之前对其进行操作,但由于它只是一个巨大的字符串,因此很少有一个好主意。
-
另外,如果你想创建一个没有 URL 的
A标签,最好使用content_tag :a, class: "thumbnail", data: { toggle: "tab", target: "#tab_" + dom_id(item) } do
标签: ruby-on-rails ruby refinerycms refinery