我的 ApplicationController 中有一个身份验证方法,我总是想先运行它。我在子 Controller 中还有一个方法,我想在身份验证方法之后运行,但在其他 ApplicationController before_actions 之前运行。换句话说,我想要这个:
ApplicationController
before_action first
before_action third
OtherController < ApplicationController
before_action second
以上导致方法按以下顺序调用:
first
-> third
-> second
.但我想要订单:
first
-> second
-> third
.我试过使用 prepend_before_action,如下所示:
ApplicationController
prepend_before_action first
before_action third
OtherController < ApplicationController
prepend_before_action second
但这导致它去
second
-> first
-> third
.我如何获得订单
first
-> second
-> third
?
最佳答案
您可以使用 prepend_before_action
像这样:
class ApplicationController < ActionController::Base
before_action :first
before_action :third
end
class OtherController < ApplicationController
prepend_before_action :third, :second
end
关于ruby-on-rails - rails : prepend_before_action in superclass,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35560667/