Rails制造商 - 如何从协会领域获得价值?

时间:2014-11-05 15:47:09

标签: ruby-on-rails ruby-on-rails-4 fabrication-gem

让我们说我有一个有许多Notes的模型用户。每个注释都有字段user_name。我希望我的笔记Fabricator看起来像这样:

Fabricator(:note, class_name: Note) do
  user
  content Faker::Lorem.paragraph(1)
  user_name user.full_name
end

我尝试做的是使用来自已存在的用户的full_name方法的值设置user_name。但我收到以下错误:

undefined method `full_name' for #<Fabrication::Schematic::Attribute:0x0000000a279c50>

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:3)

最终在documentation中发现我可以使用属性哈希:

Fabricator(:note, class_name: Note) do
  user
  content Faker::Lorem.paragraph(1)
  user_name { |attrs| attrs[:user].full_name }
end