gpt4 book ai didi

ruby-on-rails - Rails 应用程序中错误类位置的约定

转载 作者:数据小太阳 更新时间:2023-10-29 08:04:33 24 4
gpt4 key购买 nike

快速提问,

我有一些从 StandardError 扩展而来的 ruby​​ 类,例如:

class NotAuthorized < StandarError
end

我只使用这个类来在这样的 Controller 中引发异常

class SomeController < ApplicationController

before_filter :is_admin!

protected
def is_admin!
raise NotAuthorized if ...
end
end

因为NotAuthorized类不是model,我觉得不应该在model文件夹下。也不是 Controller ,尽管它只为 Controller 服务。你通常把这种类(class)放在哪里?

最佳答案

因为您没有谈论您正在使用的 rails 版本,所以我指的是 rails4。

从 Rails 3 开始(我认为)app 下的每个文件夹都会自动加载。考虑到这一点,只需将内容放在它所属的位置 app/exceptions app/worker app/whetever

在我看来,异常有点不同。他们通常有某种背景。这就是为什么我喜欢它们在某个模块中,即 Authorization::NotAuthorized

所以在我的例子中,会有一个名为 Authorization 的关注点包含此错误类。

关于ruby-on-rails - Rails 应用程序中错误类位置的约定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19318326/

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