【问题标题】:Using Spree Deface Overrides, how do I change the css class of a submit tag?使用 Spree Deface Overrides,如何更改提交标签的 css 类?
【发布时间】:2017-08-09 22:52:48
【问题描述】:

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

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

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

进入:

app/overrides/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" }
)

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

之前:

之后:

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

【问题讨论】:

    标签: ruby-on-rails spree deface


    【解决方案1】:

    好的。我已经成功了。

    当我使用 :set_attributes: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' %>"
    )
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-04
      • 1970-01-01
      • 2017-04-18
      • 1970-01-01
      相关资源
      最近更新 更多