【发布时间】:2015-11-08 08:50:27
【问题描述】:
spree-auth-devise gem 中有一个私有方法。方法在控制器UserSessionsControllerhttps://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 中。
谢谢大家。
【问题讨论】:
-
覆盖是什么意思?
-
@sagarpandya82 我的意思是修改或附加更多逻辑到方法。
-
到目前为止你尝试了什么?
标签: ruby ruby-on-rails-4 spree-auth-devise