0

我正在尝试使用 deface 覆盖 spree 中的登录页面,但我无法使用以下代码访问登录部分

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

由于某种原因,这似乎不起作用,在服务器输出中我得到:Deface:1覆盖为'spree / shared / _login'找到Deface:'覆盖登录'与'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 在 spree/layouts/spree_application (77.4 毫秒)

我在页面中尝试了多个css选择器但没有结果,我注意到登录部分位于'spree_auth_devise-3.1.0'子目录'not spree_frontend-3.1.0'中,其他人现在有没有人如何破坏狂欢中的登录页面或如何为其部分引用正确的路径?

4

1 回答 1

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 %>
于 2016-12-07T10:50:05.753 回答