append_before_action过滤器的执行顺序与它们在源代码中的出现顺序相同吗?

时间:2016-10-24 16:14:22

标签: ruby-on-rails ruby-on-rails-4

rails是否保证多个 append_action_filters 的执行顺序与这些过滤器在源文件中的显示顺序相同?例如,
我有一个rails控制器 problems_controller.rb ,下面复制了一个片段。

append_before_action :force_sign_out_if_token_about_to_expire,  
only: [:get_create_problem_page, 
       :get_create_problem_page_v2,
       :get_solve_problem_page]

append_before_action :require_signed_in_user,  
only [:get_create_problem_page,  
      :get_create_problem_page_v2,  
      :get_solve_problem_page]  

通过使用print语句,我可以看到,对于上面列出的所有三个操作, force_sign_out_if_token_about_to_expire require_signed_in_user 之前执行。但我找不到支持这种观察的rails文档。虽然我可以找到过滤器链排序 here 的文档,但对于我的应用程序,我更喜欢使用上面列出的样式的过滤器。此外,如果我尝试使用文档中所述的过滤器,则会遇到问题。如果需要,我可以详细说明。

0 个答案:

没有答案