Ruby on rails 覆盖Spree/Spree_auth_设计的登录功能
这是我的登录页:Ruby on rails 覆盖Spree/Spree_auth_设计的登录功能,ruby-on-rails,ruby-on-rails-4,devise,spree,Ruby On Rails,Ruby On Rails 4,Devise,Spree,这是我的登录页: <%= form_for Spree::User.new, :as => :spree_user, :url => spree.spree_user_session_path do |f| %> <%= f.email_field :email %> <%= f.password_field :password %> <%= f.submit Spree.t(:login) %&
<%= form_for Spree::User.new, :as => :spree_user, :url => spree.spree_user_session_path do |f| %>
<%= f.email_field :email %>
<%= f.password_field :password %>
<%= f.submit Spree.t(:login) %></p>
<% end %>
这是投掷错误,
给出错误:NoMethodError(未定义的方法“authenticate#u spree_user”(用于#)):
我不确定如何覆盖spree登录功能&如何在登录过程中对用户进行身份验证 您尝试使用的方法是
authenticate\u spree\u user代码>
我建议您将用户会话控制器检查到spree\u auth\u装置中我检查了链接。但我在这里对覆盖身份验证感到困惑。我不确定我应该覆盖spree身份验证还是覆盖spree_身份验证。请将我重定向到更简单的博客帖子,我可以看一下@it?您希望覆盖身份验证的哪一部分?
Spree::UserSessionsController.class_eval do
def create
@user = Spree::User.new
@user.email = params['spree_user']['email']
@user.password = params['spree_user']['password']
authenticate_spree_user(@user)
if spree_user_signed_in?
# sign_in(:spree_user, @user)
redirect_to dashboards_profile_path
else
redirect_to user_signin_path
end
end
end