Rails 3 在启动时加载所有模型

2024-03-02

我的所有模型中都混合了一个类方法。当评估模型类时会调用该方法。不幸的是(对我来说),每当开发环境中需要模型时,这似乎是按需的。 Rails 如何在启动时加载所有模型?这是否可取?

class Foo < ActiveRecord::Base
  include Acl
  register_acl # i need this to be called for all models at start up
end

基本上,register_acl 接受模型希望进行访问控制的一些“操作”参数。假设 Foo 的操作之一是“管理”,并且系统需要在启动时了解该操作。我认为在模型中是最自然地存在这种逻辑的地方。

谢谢你!


在应用程序范围内执行此操作的正确方法是打开cache_classes在你的配置中。默认情况下,它在开发中处于关闭状态,但在生产中处于打开状态。

如果你想偶尔这样做:

Rails.application.eager_load!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Rails 3 在启动时加载所有模型 的相关文章

  • 如何显示 RSpec 测试生成的 SQL 查询日志?

    我正在为我的 Rails 3 应用程序编写规范 我想测试数据库事务是否真的有效 如果能够看到我的应用程序在规范驱动下生成的 sql 查询 这将非常有帮助 有没有办法像在 Rails 控制台中一样查看查询 我正在使用 Rails 3 0 9
  • 载波,Excon::Errors::MovedPermanently in RegistrationsController#update 错误

    我一直在尝试让 Carrierwave 与 amazon s3 一起工作 代替 storage s3 i have storage fog 将其更改为 storage s3 会立即出现错误 https stackoverflow com q
  • Rails:验证字符串的最小和最大长度,但允许其为空白

    我有一个想要验证的字段 我希望该字段能够留空 但如果用户输入数据 我希望它采用某种格式 目前我在模型中使用以下验证 但这不允许用户将其留空 validates length of foo maximum gt 5 validates len
  • 如何解决“找不到密钥::密码”?

    I m very铁轨已经生锈了 我认为自从我使用它以来的七年里 发生了很多变化 我正在尝试设置这个示例应用程序 https iridakos com news 2015 06 21 rails sample api ui https iri
  • 来自 csv.read 模拟文件的 rspec 测试结果

    我正在使用 ruby 1 9 并且正在尝试执行 BDD 我的第一个测试 应该在 csv 中读取 有效 但第二个测试 我需要模拟文件对象 却不起作用 这是我的型号规格 require spec helper describe Person d
  • Rails 3 按字段排序和最后

    您好 我对 Rails 3 2 和订购有疑问 当想要按字段对集合进行排序时 调用时 last ActiveRecord行为怪异 gt gt User order FIELD id 1 User Load 0 4ms SELECT users
  • $ bundle exec rake db:reset 命令提升无法删除 db/development.sqlite3

    我试着跑 bundle exec rake db reset并在控制台上发现以下内容 Couldn t drop db development sqlite3
  • Cucumber 是否不需要编写单元测试?

    我对 Ruby ROR 可用的测试框架数量之多感到有点困惑 我最近看了黄瓜轨道广播 http railscasts com episodes search cucumber并发现它们非常有趣 所以我开始玩游戏 然后努力从概念上考虑在哪里进行
  • Rails 中的会话、子域和 authlogic 问题

    我有一个带有 authlogic 身份验证的 Rails 应用程序和一个使用 subdomain fu 构建的 username domain com 结构 但是当从domain com转到username domain com时 我的会话
  • 设计重定向到成功登录似乎在第一次登录尝试时卡住

    我正在使用 Ruby on Rails 开发一个小型应用程序 并使用 Devise 进行身份验证 我有两个登录系统设置 一个是user另一个是employee 当使用正确的电子邮件和密码登录时 设计会发送正确的重定向到返回路径 但它会卡在那
  • 如何将 CarrierWave 文件迁移到新的存储机制?

    我有一个 Ruby on Rails 站点 其中包含使用 CarrierWave 进行文件处理的模型 当前使用本地存储 我想开始使用云存储 并且需要将现有的本地文件迁移到云端 我想知道是否有人可以指出这样做的方法 使用模型属性的好处是 它允
  • Rails 5 - 在 gem 上充当 Taggable - 简单表单集合选择已定义的标签列表

    我正在尝试学习如何将 Acts as Taggable On gem 与 Rails 5 一起使用 我使用简单的表格作为表格 我认为部分问题是由于提案和 randd fields 之间的模型没有关联而产生的 我有名为 Proposal 和
  • 载波无法删除图像

    我现在使用 Carrierwave 上传图像 一切都很好 除了一个 当我添加用于删除上传图像的复选框时 我收到错误 无法批量分配受保护的属性 remove image Form Model class Manufacturer lt Act
  • Rails/heroku 从 gem 迁移到 toolbelt

    我曾经在一个项目中使用过 heroku gem 既然工具带已经出来了 我想换一个 我从 Gemfile 中删除了 gem 并通过 gem uninstall heroku 卸载了它 我使用heroku网站上的pkg安装了heroku工具带
  • simple_fields_for 没有出现 [rails 4]

    我正在尝试创建两个隐藏字段 其中一个显示没有问题 但来自嵌套表单的另一个则没有 产品 rb class Product lt ActiveRecord Base has many product options dependent dest
  • A has_many Bs 其中 B 没有主键

    我有型号 A 和 B A has many B 并且 B 属于 A 到目前为止 一切都很好 除了我指定 B 没有主键 我不打算修改或删除单个 B 行 并且我预计会有数百万到数十亿的 B 行 因此省略主键将非常方便 节省空间 创建 B 表的迁
  • Rails - 使用 %W

    我有以下效果很好的 def steps w hello billing confirmation end steps first 但我想这样做 def step title w Upload a photo Billing Info Con
  • Ruby on Rails 从视图路由到控制器中的自定义方法

    我有一个控制器名称帖子 在我的 config routes rb 我用过这个 resources posts app controllers posts controller rb class PostsController lt Appl
  • Rails 应用程序在模型间保存方面遇到问题

    我正在开发一个从网站下载元标签并然后保存的应用程序 下载发生在一个名为Site 我想将下载的机器人元标签保存到一个名为的模型中robots tag它通过一个名为的连接表连接到站点meta tag sites 但是我在站点模型中编写的用于执行
  • Rails 7 缺失部分

    我正在升级到 Rails 7 1 并在使用 JS 部分的视图中遇到奇怪的错误 缺少部分 account stripe js erb application stripe js erb 与 locale gt fr formats gt ht

随机推荐

  • Cmake 使用目标 target_include_directories 时无法指定包含目录

    我在我的项目中使用子模块 GitHub 现在我想使用target include directories用于将文件包含在我的项目类中 这是我的cmake配置 cmake minimum required VERSION 3 9 projec
  • C++ 模板实现文件扩展名约定?

    模板类实现使用什么文件扩展名是否有约定 tpp 模板 hpp 模板类实现使用什么文件扩展名有约定吗 不 据我所知 并没有为这些文件扩展名建立真正的标准约定 有许多常用的文件扩展名 例如 icc inl tcc 这似乎至少被我的 GCC 4
  • pandas.read_csv 来自字符串或包数据

    我的包中有一些 csv 文本数据 我想使用 read csv 读取它们 我这样做是通过 from pkgutil import get data from StringIO import StringIO data read csv Str
  • jQuery ajax() 选项 - xhr

    在 jQuery ajax 函数中 有 xhr 选项 有人知道这个选项的更多细节 可用性或示例用法吗 对于此函数 您希望返回适合您的浏览器的 XHR 对象 默认行为是使用 XMLHTTPRequest 或 IE 等效项 这是默认行为 jQu
  • 在 MATLAB 中填充两个连接组件之间的区域

    我有一个在 MATLAB 中表示数字的二值图像 我想填写所有数字 期望的结果是 我唯一发现的是imfill函数 但这并没有多大帮助 因为我丢失了内部数据 例如 9 的内圈 另一种可能性是使用BW边界 http www mathworks c
  • 在 Windows 上将 Tensorflow 与 Anaconda 和 PyCharm 结合使用

    我在 Windows 10 64 位上使用 Anaconda 4 3 1 64 位 我已经根据以下内容成功安装了Tensorflow CPU this https www tensorflow org install install win
  • 导入 TensorFlow 会阻止 python 程序运行

    我在安装了 CPython 的 Visual Studio 中设置了 Python 工具 在 Visual Studio 中 如果我运行以下代码 print hello import numpy print hello 程序运行正常 打印两
  • Eclipse/Git:“您正在使用带有 SHA-1 的 RSA 密钥,这不再被允许。请使用较新的客户端或不同的密钥类型。”

    我使用 Git 在 Git 中创建了一个公钥ssh keygen已成功创建为 ssh id rsa pub 然后 我在 SSH 密钥中将其上传到 GitHub 并 授权 其 SSO 功能 现在所有内容都已上传 When cloning a
  • ObjectMapper.writeValueAsString 输出中的重复值

    我正在使用杰克逊ObjectMapper使用多态嵌套类对类进行 反 序列化 JSON 到类的反序列化工作正常 但是当我尝试使用以下命令将类序列化为 JSON 时writeValueAsString函数我在输出中观察到重复值 public c
  • 火狐滚动条

    伙计们 有没有一种方法可以在 Firefox 中自定义滚动条 我尝试在 chrome 上使用类似的技术 但我想这仅适用于 chrome 经过一些研究后 我发现无法使用此方法在 Firefox 上自定义它由于引擎中的错误 所以我正在寻找一种替
  • 使用 Vision api 在脸上用可绘制/绘画进行拍照

    我在尝试什么 我正在尝试在脸上使用可绘制 绘画来拍照 但是我无法将两者都放在同一张照片上 我已经尝试过什么 我尝试过使用CameraSource takePicture但我只是得到了脸上没有任何可绘制 油漆的脸 mCameraSource
  • jqGrid - 防止取消选择行

    使用 jqGrid 如果我再次单击所选行 则该行将被取消选择 有什么办法可以防止这种情况发生吗 我希望该行仍被选中 很好的解决方案 更紧凑的版本 beforeSelectRow function rowid e return this ge
  • Java数据文件在类之间共享

    我正在制作一个从文件 Serialized objectInputStream 读取的小程序 该文件是一个注册表列表 其中每个条目都有一个设置为 true 或 false 的布尔变量 在这个程序中 我有两个独立的 JPanel 类 一个是
  • javascript代码是否需要以“