首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Deface覆盖替换Spree中的简单链接

使用Deface覆盖替换Spree中的简单链接
EN

Stack Overflow用户
提问于 2014-07-13 06:28:07
回答 1查看 1.1K关注 0票数 0

我刚开始狂欢,似乎不能理解替换动态rails内容的"erbloud“方式……

我只是想用不同的文本替换导航栏上的“主页”链接,比如“最新产品”。文本会将用户重定向到完全相同的索引页…我只想用一些不同的文本替换链接。spree核心中的部分是:

spree /前端/应用程序/视图/ spree /共享/ _main_nav_bar.html.erb...

代码语言:javascript
复制
<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>
      &nbsp;
    </li>
    <script>Spree.fetch_cart()</script>
  </ul>
</nav>

到目前为止,我已经创建了一个覆盖文件,以便在我的应用程序中使用deface:

存储/应用程序/覆盖/ change_home_text.rb

代码语言:javascript
复制
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行以正确地将链接替换为新文本?

非常感谢,

EN

回答 1

Stack Overflow用户

发布于 2014-07-13 08:57:36

弄明白了...我把事情搞得太复杂了。只需要这样的东西:

代码语言:javascript
复制
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",)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24717876

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档