我在 Spree 工作,我正在尝试使用 Deface 来改变这一点
<% if order.has_step?("delivery") %>
<div class="columns alpha four" data-hook="order-ship-address">
<h6><%= Spree.t(:shipping_address) %> <%= link_to "(#{Spree.t(:edit)})", checkout_state_path(:address) unless @order.completed? %></h6>
<%= render :partial => 'spree/shared/address', :locals => { :address => order.ship_address } %>
</div>
<% end %>
<% if @order.has_step?("delivery") %>
<div class="columns alpha four">
<h6><%= Spree.t(:shipments) %> <%= link_to "(#{Spree.t(:edit)})", checkout_state_path(:delivery) unless @order.completed? %></h6>
<div class="delivery">
<% order.shipments.each do |shipment| %>
<div>
<i class='fa fa-truck'></i>
<%= Spree.t(:shipment_details, :stock_location => shipment.stock_location.name, :shipping_method => shipment.selected_shipping_rate.name) %>
</div>
<% end %>
</div>
<%= render(:partial => 'spree/shared/shipment_tracking', :locals => {:order => @order}) if @order.shipped? %>
</div>
<% end %>
..进入这个。
<div class="columns alpha four" data-hook="order-ship-address">
<h6><%= Spree.t(:shipping_address) %> <%= link_to "(#{Spree.t(:edit)})", checkout_state_path(:address) unless @order.completed? %></h6>
<%= render :partial => 'spree/shared/address', :locals => { :address => order.ship_address } %>
</div>
我已经提交了关于冗余 if 语句的拉取请求,并在第二个 if @order.has_step?("delivery") 中添加了一个数据挂钩,但同时我需要编写一个会更改页面的破坏覆盖到我需要它的样子。我可能可以删除第一个 if @order.has_step?("delivery") 因为我认为如果我写的话,Deface 将针对我在页面上谈论的第一个实例
:remove => "erb[silent]:contains('if order.has_step?(\"delivery\"')")
虽然说实话,文档在这一点上并不是很好。无论如何,我怎样才能删除整个第二个 if 语句?没有针对它的数据挂钩,并且使用
:remove_content => "erb[silent]:contains('if order.has_step?(\"delivery\"')")
只是删除第一个 if 语句的内容。我不能在第二个 if 语句中定位第一个 div,因为第一个 if 语句中已经有一个 div class="columns alpha 四"。我不想在页面上留下一个空的 div,我该怎么办?