我是Spree的新手,似乎无法绕过" erb [大声]"替换动态rails内容的方法......
我只是想替换“家庭'导航栏上的链接使用不同的文本,例如"最新产品"。文本将用户重定向到完全相同的索引页面...我只想用一些不同的文本替换链接。部分疯狂核心是:
spree / frontend / app / views / spree / shared / _main_nav_bar.html.erb ...
<nav class="columns sixteen">
<ul id="main-nav-bar" class="inline" data-hook>
<li id="home-link" data-hook><%= link_to Spree.t(:home), spree.root_path %></li>
<li id="link-to-cart" data-hook>
<noscript>
<%= link_to Spree.t(:cart), '/cart' %>
</noscript>
</li>
<script>Spree.fetch_cart()</script>
</ul>
</nav>
到目前为止,我已在我的应用中创建了一个覆盖文件以使用deface:
store / app / overrides / change_home_text.rb
Deface::Override.new(:virtual_path => 'spree/shared/_main_nav_bar',
:name => 'change_home_text',
:replace => "erb[loud]:contains('<li id="home-link" data-hook><%= link_to Spree.t(:home), spree.root_path %></li>')",
:text => "<li id="home-link" data-hook><%= link_to, 'Newest Products', Spree.t(:home), spree.root_path %></li>")
如何设置:replace和:text行以正确替换带有新文本的链接?
非常感谢,
答案 0 :(得分:0)
想通了......我过于复杂了。只需要:
Deface::Override.new(:virtual_path => 'spree/shared/_main_nav_bar',
:replace => "li#home-link",
:text => "<li id='home-link' data-hook><%= link_to 'Newest Products', spree.root_path %></li>",
:name => "change_home_text",)