gpt4 book ai didi

ruby-on-rails-4 - 条件 before_action/before_filter 是否需要 "proc"?

转载 作者:行者123 更新时间:2023-12-03 07:23:39 26 4
gpt4 key购买 nike

看哪,before_filter:

class ThingController < ApplicationController
before_filter :check_stuff, :if => proc {Rails.env.production?}
end

在最近的一次代码审查中,我被问到,“是否需要 proc 才能正常工作?” 答案似乎是"is",但事实并非如此这是一个合理的问题,我本来打算通过引用 Rails 文档或指南或有关 before_filter (现在是 before_action 的别名)使用条件的内容来回答它。

我没找到。 Action Controller Guide提到了 :only/: except,但没有提到 :if/:unless

如果做不到这一点,我可以指出代码中的某个地方涵盖了这一点吗?简要提到了here ,但这更多的是关于如何处理 :only: except ,而不是 :if:unless

最佳答案

在 Rails 指南上找到它:http://guides.rubyonrails.org/active_record_callbacks.html#conditional-callbacks

事实证明,它的工作并不总是需要 Proc

the :if and :unless options, which can take a symbol, a string, a Proc or an Array.

所以在你的情况下你可能会逃脱

before_action :check_stuff, if: "Rails.env.production?"

有时在 Rails 文档中查找内容可能会很痛苦,但至少像这样的问题会让随着时间的推移更容易找到内容,因为 StackOverflow 索引良好且搜索排名较高。

关于ruby-on-rails-4 - 条件 before_action/before_filter 是否需要 "proc"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23368424/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com