【发布时间】:2016-06-22 14:48:24
【问题描述】:
factory_girl trait 是否可以使用简写块语法?
考虑这个工厂:
FactoryGirl.define do
factory :foo do
name "name"
# not using the block shorthand {} syntax, instead using do...end block syntax
trait :my_name do
name "Neil"
end
end
end
并且使用这个工厂工作:
create(:foo, traits: [:my_name])
但是我想对我的特征使用速记块语法,如下所示:
FactoryGirl.define do
factory :foo do
name "name"
# using shorthand block syntax but does not work
trait :my_name {name "Neil"}
end
end
现在使用这个工厂错误了。这是发生了什么:
create(:foo, traits: [:my_name])
语法错误,意外的'{',期待keyword_end (SyntaxError)
这似乎很奇怪,因为我认为无论您在哪里使用 do ... end,都可以选择简写 {} 块语法。
问题:我的 factory_girl trait 方法的速记块语法是否有问题,这就是它出错的原因?或者:您只是不允许使用 factory_girl traits 的速记块语法吗?有没有办法使用 factory_girl 特征的速记块语法?
【问题讨论】:
标签: ruby-on-rails ruby factory-bot