我是Ruby on Rails的新手,并且我正在基于狂欢宝石开发一个小型的电子商务网站。
但是我想使用狂欢界面库来更新/覆盖网站的前端部分。
Deface::Override.new(:virtual_path => 'spree/shared/_header',
:name => 'change store logo',
:replace => 'figure#logo',
:text => "<%= image_tag('/images/logo.png') %>"
这是我的代码,但是在重新加载页面后,徽标仅由单词“ Logo”代替,而不是图像本身。我的目标定位错误吗?覆盖的图像文件应该放在哪里?
这是页面的html:
<div id="spree-header">
<header id="header" data-hook>
<div class="container">
<div class="row">
<figure id="logo" class="col-md-4 col-sm-3" data-hook>
<%= logo %>
</figure>
<%= render partial: 'spree/shared/nav_bar' %>
</div>
</div>
</header>
<div class="container">
<%= render partial: 'spree/shared/main_nav_bar' %>
</div>
</div>
谢谢!
答案 0 :(得分:0)
我知道它是如何工作的。
我需要以Ruby Assets管道为基础,因此图像的路径应位于:railsapplication / apps / assets / images / *。png,以用作污损的替代。
此外,代码应为:
Deface:: Override.new(:virutal_path => 'spree/shared/_header', #change this at need
:name => 'change store logo', #optional
:replace => 'figure#logo' #id that will be replaced located at /_header
:text => "<%= link_to image_tag('logos/logo_small.png') %>, #Ruby tag included
)
而且应该可以正常工作。