【问题标题】:how can i use deface to change html that has tags with erb我如何使用 deface 更改带有 erb 标签的 html
【发布时间】:2015-07-02 13:35:59
【问题描述】:

我是 spree 的新手,并尝试在结帐期间通过使用 deface 删除一些字段来更改地址表单。现在我将使用哪个选择器,因为 id 值是 erb 格式。以下是部分表单中的代码示例

    <% address_id = address_type.chars.first %>

    <p class="form-group" id=<%="#{address_id}zipcode" %>>
    <%= form.label :zipcode, Spree.t(:zip) %><% if address.require_zipcode? %><span class="required">*</span><br /><% end %>
    <%= form.text_field :zipcode, :class => "form-control #{'required' if address.require_zipcode?}" %>
  </p>
  <p class="form-group" id=<%="#{address_id}phone" %>>
    <%= form.label :phone, Spree.t(:phone) %><% if address.require_phone? %><span class="required">*</span><br /><% end %>
    <%= form.phone_field :phone, :class => "form-control #{'required' if address.require_phone?}" %>
  </p>
  <% if Spree::Config[:alternative_shipping_phone] %>
    <p class="form-group" id=<%="#{address_id}altphone" %>>
      <%= form.label :alternative_phone, Spree.t(:alternative_phone) %><br />
      <%= form.phone_field :alternative_phone, :class => 'form-control' %>
    </p>

以这个为例

Deface::Override.new(
    :virtual_path   => "spree/address/_form",
    :name           => "remove_phone",
    :remove         => "data-erb-id=&lt;%= \"address_type.chars.firstphone\" %&gt;",
)

但是在运行rake deface:get_result[spree/address/_form] 之后我得到了错误: Nokogiri::CSS::SyntaxError: '[#]' 之后的意外'='

这是我第一次使用 spree,但是 spree 网站上的文档似乎没有涵盖带有 erb 的 html 标签

【问题讨论】:

    标签: ruby-on-rails ruby spree deface


    【解决方案1】:

    在你的脸上试试这个

    Deface::Override.new(:virtual_path  => "spree/address/_form",
                         :remove => "p[data-erb-id='<%=\"\#{address_id}phone\" %>']",
                         :name          => "remove_phone")
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-01-28
      • 2011-01-20
      • 1970-01-01
      • 1970-01-01
      • 2012-02-11
      • 2010-12-08
      • 1970-01-01
      相关资源
      最近更新 更多