我想知道在 Rails 中 yhy 有时我需要一个包,有时我不需要?例子:
class Visitor < ApplicationRecord
validates :ipv4, allow_nil: true, format: { with: Resolv::IPv4::Regex, message: 'is an invalid IPv4' }
end
如果我不在require 'resolv'
文件顶部添加,在调用调用使用此模型的控制器的路由时会出现问题。错误将是:
#<NameError: uninitialized constant #<Class:0x0000555f53c743d8>::Resolv>
这似乎完全是武断的,尽管我现在肯定有一些我当然不知道的规则。
这一切都autoload
在 Rails 中。默认情况下,您需要 require 库,但有些 gem 会将自动加载到 Rails,因此您在使用时不需要它。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句