gpt4 book ai didi

ruby-on-rails - 使用 Devise 将 SpreeCommerce 添加到现有应用程序

转载 作者:数据小太阳 更新时间:2023-10-29 07:37:46 25 4
gpt4 key购买 nike

看来我一定是做错了什么(我对 Spree 还处于起步阶段)我遵循了本教程 http://guides.spreecommerce.com/developer/authentication.html我有默认的设计设置,现在正在尝试将 SpreeCommerce 添加到其中。

module Spree
module AuthenticationHelpers
def self.included(receiver)
receiver.send :helper_method, :spree_login_path
receiver.send :helper_method, :spree_signup_path
receiver.send :helper_method, :spree_logout_path
receiver.send :helper_method, :spree_current_user
end

def spree_current_user
current_user
end

def spree_login_path
# main_app.login_path
main_app.new_user_session_path
end

def spree_signup_path
main_app.new_user_registration_path
end

def spree_logout_path
main_app. destroy_user_session_path
end
end
end

Spree::BaseController.send :include, Spree::AuthenticationHelpers
ApplicationController.send :include, Spree::AuthenticationHelpers

这是我在 lib/spree 下的 authentication_helpers.rb 中的代码

我还在我的 spree.rb 初始化程序中添加了以下内容

Spree.user_class = "User"

Rails.application.config.to_prepare do
require_dependency 'spree/authentication_helpers'
end

我在“/store”下安装了 spree 引擎

现在。用户表单显然适用于我的应用程序。当我去商店时,我点击了按预期工作的“注销”——将我从 spree 和我的主应用程序中注销。 Spree 中的登录表单出现以下错误:

> RuntimeError in Spree::UserSessionsController#create Could not find a
> valid mapping for nil

当我查看 session 转储时:

flash: {"discard"=>[], "flashes"=>{"success"=>"Logged in successfully"}}
session_id: "b71cbba980b1375c241d432920865fb6"
warden.user.spree_user.key: [[1], "fL1Ls3yoi8fg7yPFADbx"]

用户显然没有在任何地方登录。

注册表单接受输入,将记录保存在 Spree::User 类中,但不记录用户以后也不允许登录。登录按钮仍然存在,但点击后没有任何反应。我也没有登录网站的其余部分。

此外,当我尝试打开购物车时,我得到(尽管/account 没有给出错误):

ActiveRecord::AssociationTypeMismatch in Spree::OrdersController#edit
Spree::User(#70363670728860) expected, got User(#70363741439840)

最佳答案

没错。答案非常简单:

而不是在 gem 文件中添加专用的身份验证策略

gem 'spree_auth_devise', :git => 'https://github.com/spree/spree_auth_devise.git', :branch => '2-3-stable'

简单使用

gem 'devise'

我同时包含了它们。

关于ruby-on-rails - 使用 Devise 将 SpreeCommerce 添加到现有应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25497137/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com