Aja*_*jay 1 ruby-on-rails spree
在"spree_application.html.erb"文件中,我需要覆盖现有的部分从下面的链接获取完整的代码:
样品内容:
<%= render :partial => 'spree/shared/header' %>
<div id="wrapper" class="row" data-hook>
<%= breadcrumbs(@taxon) %>
<%= render :partial => 'spree/shared/sidebar' if content_for? :sidebar %>
<div id="content" class="columns <%= !content_for?(:sidebar) ? "sixteen" : "twelve" %>" data-hook>
<%= flash_messages %>
<%= yield %>
</div>
<%= yield :templates %>
</div>
Run Code Online (Sandbox Code Playgroud)
在这里我需要使用Deface替换以下部分:
<%= render :partial => 'spree/shared/header' %>
Run Code Online (Sandbox Code Playgroud)
我的Deface文件:header_modification.rb:
Deface::Override.new(:virtual_path => 'spree/layouts/spree_application',
:name => 'header_modification',
:replace => ?
:partial => 'spree/shared/spree_application'
)
Run Code Online (Sandbox Code Playgroud)
应该写什么:替换部分/任何其他动作可以用来覆盖使用Deface的部分?
您可以使用以下命令测试您的rake选择器:
rake deface:test_selector['spree/layouts/spree_application','erb[loud]:contains("spree/shared/header")']
Querying 'spree/layouts/spree_application' for 'erb[loud]:contains("spree/shared/header")'
---------------- Match 1 ----------------
<%= render :partial => 'spree/shared/header' %>
Run Code Online (Sandbox Code Playgroud)
所以这应该工作:
Deface::Override.new(:virtual_path => 'spree/layouts/spree_application',
:name => 'header_modification',
:replace => 'erb[loud]:contains("spree/shared/header")',
:partial => 'spree/shared/spree_application'
)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2221 次 |
| 最近记录: |