Rails 制造商 - 如何从关联字段中获取价值?

Dan*_* F. 1 ruby-on-rails fabrication-gem ruby-on-rails-4

假设我有一个模型用户,它有很多注释。每个笔记都有字段 user_name。我希望我的笔记制造商看起来像这样:

Fabricator(:note, class_name: Note) do
  user
  content Faker::Lorem.paragraph(1)
  user_name user.full_name
end
Run Code Online (Sandbox Code Playgroud)

我想要做的是使用已经存在的 User 的 full_name 方法中的值设置 user_name 。但我收到以下错误:

undefined method `full_name' for #<Fabrication::Schematic::Attribute:0x0000000a279c50>
Run Code Online (Sandbox Code Playgroud)

任何帮助,将不胜感激。

Dan*_* F. 5

最终在文档中发现我可以使用一个属性哈希:

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