0

所以在我的代码中,我在第 14 行有以下内容:

app/views/spree/shared/_search.html.erb

<%= submit_tag Spree.t(:search), name: nil, class: "btn btn-danger" %>

并在:

应用程序/覆盖/edit_header.rb

Deface::Override.new(
  :virtual_path   => "spree/shared/_search",
  :name           => "set_button_to_green",
  :set_attributes => "erb[loud]:contains('submit_tag')",
  :attributes     => { :class => "btn btn-info" }
)

虽然它有点工作,但结果如下:

前:

在此处输入图像描述

后:

在此处输入图像描述

我今天花了几个小时试图解决这个问题,但我还没有找到任何专门解决我的问题的答案。目前我有一个解决方法,但理解这个问题真的会加快我的进程。

4

1 回答 1

0

好的。我已经让它工作了。

当我使用:set_attributesand:attributes设置时,输出最终在 HTML 输出中生成以下内容:

<erb loud class="btn btn-info">
  submit_tag Spree.t(:search), name: nil, class: "btn btn-danger" %&gt;
</erb>

实际工作如下:

Deface::Override.new(
  :virtual_path => "spree/shared/_search",
  :name => "set_button_to_green",
  :replace => "erb[loud]:contains('submit_tag')",
  :text => "<%= submit_tag Spree.t(:search), name: nil, class: 'btn btn-info' %>"
)

所以使用:replaceand:text是我需要的,而不仅仅是设置属性。

于 2017-08-10T15:26:09.667 回答