- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我有这样命名空间的模型:
class Vehicle < ActiveRecord::Base; end
class Vehicle::Car < Vehicle; end
class Vehicle::Train < Vehicle; end
class Vehicle::Jet < Vehicle; end
在为这些模型创建工厂时,它们是按以下方式设置的:
factory :vehicle_car, class: Vehicle::Car do; end
factory :vehicle_train, class: Vehicle::Train do; end
factory :vehicle_jet, class: Vehicle::Jet do; end
这会产生以下弃用警告:
DEPRECATION WARNING: Looking up factories by class is deprecated and will be removed in 5.0. Use symbols instead and set FactoryBot.allow_class_lookup = false.
是否有一种格式可以编写一个符号来命名这些工厂,这样我就不需要使用类名来遵守弃用警告?
最佳答案
关于 :class
选项的行为方式或它期望的值,文档并不是很有用,但源代码更有用。从报错信息回溯我们发现FactoryBot::Decorator::ClassKeyHash#symbolize_keys
:
def symbolized_key(key)
if key.respond_to?(:to_sym)
key.to_sym
elsif FactoryBot.allow_class_lookup
ActiveSupport::Deprecation.warn "Looking up factories by class is deprecated and will be removed in 5.0. Use symbols instead and set FactoryBot.allow_class_lookup = false", caller
key.to_s.underscore.to_sym
end
end
第一个分支中的 key.to_sym
是“我想要一个 Symbol
或 String
”的惯用法。第二个分支中的 key.to_s.underscore.to_sym
告诉我们期望的格式。
如果你通过 to_s.underscore
运行 Vehicle::Car
,你会得到 'vehicle/car'
所以这些应该可以工作:
factory :vehicle_car, class: 'vehicle/car' do; end
factory :vehicle_train, class: 'vehicle/train' do; end
factory :vehicle_jet, class: 'vehicle/jet' do; end
或者如果你真的想要Symbol
(或者有标点符号):
factory :vehicle_car, class: :'vehicle/car' do; end
factory :vehicle_train, class: :'vehicle/train' do; end
factory :vehicle_jet, class: :'vehicle/jet' do; end
关于ruby-on-rails - 没有 class_name 的 FactoryBot 命名空间模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50437961/
在查看 jQuery 示例时,我看到 CSS 类在引用时带有前缀“.”。有时和其他时候没有。例如,在 codecademy 的这段代码中: else if(event.which === 110) {
当我尝试根据字典(“cmdList”)中定义的依赖关系创建依赖关系(子任务)时出现上述错误。例如,“BDX010”是“BDX020”的依赖关系。我正在使用Python 3.7。 请查看底部的堆栈跟踪以
这个问题在这里已经有了答案: nth-child doesn't respond to class [duplicate] (3 个答案) Can I combine :nth-child() o
在代码中我看到了以下结构: const class_name obj_name{func()}; func() 返回名为class_name 的类的对象。所以,我想知道为什么不使用以下结构: cons
我有一个看起来像这样的 Book 模型: class Book { where(author: true) }, class_name: 'User', touch: true belongs_
我正在开发一个学校注册系统,学生可以在其中添加和删除类(class)以进行更多 php 练习 例如,一名学生在他/她的类(class)表中添加了 2 门会计 101 类(class),这是不应该发生的
我正在积极学习如何在 python 中实现决策树。 从 scikit-learn 重新创建 Iris 分类示例时,我得到一个存在于 export_graphviz 中的参数的 TypeError ,即
这个问题在这里已经有了答案: What is the difference between Class.this and this in Java (4 个答案) 关闭 9 年前。 我看到一些代码使
三、元素定位方式 1-通过id定位,By.ID id属性在HTML中是唯一的,因此使用id定位可以确保找到页面上唯一的元素。 由于id是唯一的,浏览器在查找元素时可以快速定位到目标元素,提高了定
干草开发人员, 当我调用@chapter.articles 时,rails 会产生以下错误: uninitialized constant Sommaire::Chapter::Article 事件如
我正在处理一个相当简单的 has_many through: 情况,我可以使 class_name/foreign_key 参数在一个方向上工作,但不能在另一个方向上工作。也许你能帮帮我。 (附注:我
我最近遇到了这段代码。用户有很多答案。 :class_name 和 :foreign_key 的目的是什么? class Answer 'Question", :foreign_key => 'qu
在我的新 Rails 项目中,我需要访问我的旧数据库。所以我创建了一些遗留模型。我在照片和评论之间有一个多态关联(commentable_id 和 commentable_type) 当我打电话 Le
我最近遇到了这段代码。用户有很多答案。 :class_name 和 :foreign_key 的目的是什么? class Answer 'Question", :foreign_key => 'qu
我在我的代码中使用 mysql_fetch_object 时出现错误,因为我试图创建其实例的对象具有构造函数。 错误如下:Warning: Missing argument 1 for Ratio::
从项目 15,我注意到这些代码: class FontHandle { ... }; class Font { public: // implicit conversion function
我正在尝试解析一个网站,对其进行标记并将不同的句子存储在一个数组中,因此这变成了一个字符串数组。我需要访问从 json 返回的类。例如,我必须上课:nhate和hate。如果该类别令人讨厌并且该类别的
class A < ActiveRecord::Base has_one :b, class_name: "Something::B" end module Something class B
我正在通过 2 个模型之间的关系使用一个简单的 has_many。 Achievement 模型通过 ConqueredAchievement 表描述了 Professional::Company 可
使用以下代码: classes = ['ham', 'spam'] dot_data = StringIO() with open("./plots/ritesh.dot", "w") as f:
我是一名优秀的程序员,十分优秀!