所以我可以删除这个问题,因为它是基于错误的假设,但我更详细地说明了我是如何设法解决 QuotesController 的身份验证的。
非常感谢@Hates_ 和 Spree IRC 中的所有人的回答!
第一个错误假设是关于 QuotesController 的设计,它应该分为两部分,一个用于客户,一个用于商店管理后端。第二个错误的假设是include Spree::Core::ControllerHelpers::Auth
不会给我我想要的保护。所以这就是我最终的结果:
管理员端
在 Spree 中,为了让你的控制器享受商店管理员的“保护”,这个控制器必须这样继承Spree::Admin::QuotesController < Spree::Admin::BaseController
。该控制器将位于app/controllers/spree/admin/quotes_controller.rb
. 这就是您“保护”它所需要的一切。此外,它将使您的视图很好地融入商店的后端。
客户方
按照设计,最好使用不同的命名空间创建另一个 QuotesControllerapp/controllers/spree/quotes_controller.rb
并像这样继承:
Spree::QuotesController < Spree:Core::BaseController