我需要为包含名为“方法”的列的数据库表定义一个工厂。
我试过这样的事情:
FactoryGirl.define do
factory :notification_baby_offset, class:'NotificationTemplate' do
...
method {{ 'email' => false, 'notification' => true }}
...
end
end
但是,当我尝试构建它时,我收到一条错误消息:
`method': wrong number of arguments (0 for 1) (ArgumentError)
它似乎将“方法”标识为函数而不是数据库列。我试图通过:method
or来强调这一点"method"
,但这没有用。
所以,我必须像这样建造这个工厂才能让它工作:
FactoryGirl.create(:notification_baby_offset, method: { 'email' => false, 'notification' => true })
有什么方法可以避免这种黑客攻击并在工厂中正确定义此列?