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

时间:2016-05-14 02:28:14

标签: ruby-on-rails ruby refinerycms refinery

我有来自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>

1 个答案:

答案 0 :(得分:0)

在参观了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 ]