Rails 没有呈现我的 HTML 数据属性 (RefineryCMS)

Rails is not rendering my HTML data attributes (RefineryCMS)

我有来自 RefineryCMS 的以下视图 refinery/portfolio/items/_item.html.erb,由于某些原因,我的数据属性没有呈现到 DOM。

据我了解,似乎 RefineryCMS 可能会删除它们?

Rails RefineryCMS 的 4.2.6 和最新主分支

这是我的 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>

访问 RefineryCMS Gitter 聊天室后,我获得了所需的帮助。问题最近出现在 RefineryCMS 3 版本中,他们开始清理 HTML 数据属性。

所以我在 config/initializers/refinery/pages.rb 中添加了以下配置:

config.layout_template_whitelist = ["application"]
config.add_whitelist_elements = %w[ source track ]
config.add_whitelist_attributes = %w[ kind srclang placeholder controls data-target data-toggle ]