2016-12-04 76 views
0

我试图使用抹掉来覆盖大礼包登录页面,但使用下面的代码Rails spree:如何使用deface覆盖登录部分?

Deface::Override.new(
:virtual_path => 'spree/shared/_login', 
:name => 'override login', 
:replace=> "body", 
:text=> "<body><h1>loin<h1></body>", 
:disabled => false 
) 

如何过这似乎不是出于某种原因,我不能访问登录的部分,在服务器输出我得到: Deface:为'spree/shared/_login'找到1个覆盖 Deface:'override login'与'body'匹配0次 呈现/home/user/.rbenv/versions/2.3.1/lib/ruby /gems/2.3.0/gems/spree_auth_devise-3.1.0/lib/views/frontend/spree/shared/_login.html.erb(50.3ms) 呈现/home/user/.rbenv/versions/2.3.1/ lib/ruby​​/gems/2.3.0/gems/spree_auth_devise-3.1.0/lib/views/frontend/spree/user_sessions/new.html.erb hin spree/layouts/spree_application(77.4ms)

我在页面中尝试了多个选择器的CSS没有结果,我注意到登录部分位于'spree_auth_devise-3.1.0'子目录'不是spree_frontend-3.1。 0'作为他们其余的人,现在做任何人如何在狂欢中破坏登录页面,或者如何引用正确的路径为其部分?

回答

0

如果您想要更换所有的身体,最好重写部分,而不是使用Deface。这是一个伟大的工具,但不是当你想做这么大的改变时。 错误意味着它没有发现部分身体,这是真的,因为没有身体。 您只能使用

<%= form_for Spree::User.new, :as => :spree_user, :url => spree.create_new_session_path do |f| %> 
    <div id="password-credentials"> 
    <p> 
     <%= f.label :email, Spree.t(:email) %> 
     <%= f.email_field :email, :class => 'form-control', :tabindex => 1, autofocus: true %> 
    </p> 
    <p> 
     <%= f.label :password, Spree.t(:password) %> 
     <%= f.password_field :password, :class => 'form-control', :tabindex => 2 %> 
    </p> 
    </div> 
    <p> 
    <%= f.check_box :remember_me, :tabindex => 3 %> 
    <%= f.label :remember_me, Spree.t(:remember_me) %> 
    </p> 

    <p><%= f.submit Spree.t(:login), :class => 'btn btn-lg btn-success btn-block', :tabindex => 4 %></p> 
<% end %>