ruby – 在factorygirl中设置实例变量
发布时间:2020-12-17 03:17:09 所属栏目:百科 来源:网络整理
导读:说我有一个像这样的模特 class Vehicle ActiveRecore::Base after_initialize :set_ivars def set_ivars @my_ivar = true endend 在我的代码中的其他地方,我做了类似的事情 ??????@ vehicle.instance_variable_set(:@ my_ivar,false) 然后使用此ivar确定运
说我有一个像这样的模特
class Vehicle < ActiveRecore::Base after_initialize :set_ivars def set_ivars @my_ivar = true end end 在我的代码中的其他地方,我做了类似的事情 然后使用此ivar确定运行哪些验证. 如何将这个Ivar传递给FactoryGirl? FactoryGirl.define do factory :vehicle do association1 association2 end end 在创建之后,如何在保存之前将ivar_set编码到上面? 解决方法FactoryGirl.define do factory :vehicle do association1 association2 ignore do my_ivar true end after(:build) do |model,evaluator| model.instance_variable_set(:@my_ivar,evaluator.my_ivar) end end end FactoryGirl.create(:vehicle).my_ivar #=> true FactoryGirl.create(:vehicle,my_ivar: false).my_ivar #=> false (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |