Tag: spree auth devise

将名称添加到Spree Devise注册

我正在尝试添加姓名,姓氏和生日来设计Spree注册。 我已经安装了gem gem ‘spree_auth_devise’, github: ‘spree/spree_auth_devise’, branch: ‘3-0-stable’ 创建了迁移: class AddFieldsToSpreeUsers < ActiveRecord::Migration def change add_column :spree_users, :name, :string add_column :spree_users, :surname, :string add_column :spree_users, :birthdate, :time end end 创建了一个新表单来添加字段app / views / spree / shared / _user_form.html.erb 定义应用程序控制器中的方法以使用before操作运行 class ApplicationController < ActionController::Base # Prevent CSRF attacks by raising an exception. # For APIs, you […]

覆盖gem的lib文件夹中的私有方法

spree-auth-devise gem中有一个私有方法。 该方法位于控制器UserSessionsController内部https://github.com/spree/spree_auth_devise/blob/master/lib/controllers/frontend/spree/user_sessions_controller.rb 我希望覆盖函数“redirect_back_or_default”。 这可能吗? 更新 在您的答案混合和匹配并进行一些谷歌搜索后,我得出了这个解决方案: Spree::UserSessionsController.class_eval do private def redirect_back_or_default(default) if default == “/admin/orders” or session[“spree_user_return_to”] == “/admin/orders” redirect_to(“/admin/users”) else redirect_to(session[“spree_user_return_to”] || default) end session[“spree_user_return_to”] = nil end end 我已将脚本文件放在config / initializers中。 谢谢你们。