私は酒を飲むのが初めてで、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=<%= \"address_type.chars.firstphone\" %>",
)
しかし、実行後rake deface:get_result[spree/address/_form]
にエラーが発生します:Nokogiri::CSS::SyntaxError:unexpected '=' after '[#]'
spree を使用するのはこれが初めてですが、spree Web サイトのドキュメントでは、erb を使用した html タグがカバーされていないようです。