class Vehicle < ActiveRecore::Base after_initialize :set_ivars def set_ivars @my_ivar = true endend
在我的代码中的其他地方,我做了类似的事情
@ vehicle.instance_variable_set(:@ my_ivar,false)
然后使用此ivar确定运行哪些验证.
如何将这个Ivar传递给FactoryGirl?
FactoryGirl.define do factory :vehicle do association1 association2 end end
在创建之后,如何在保存之前将ivar_set编码到上面?
如何将其传递给FactoryGirl.create()?
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总结
以上是内存溢出为你收集整理的ruby – 在factorygirl中设置实例变量全部内容,希望文章能够帮你解决ruby – 在factorygirl中设置实例变量所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)