让! rspec 关联未访问以前创建的 let!多变的

let! in rspec association not accessing previously created let! variable

我正在使用 RSpec 2 并尝试在模型规范的顶部加载一些实例变量。它们是关联的,但关联没有通过。

模型是 Column 和 Table——按照我们的设置方式,这不是问题。 Table has_many 列。

let!(:company) { Company.first }
let!(:events_table)   { Table.create(name: "Events Test") }
let!(:text_column) { Column.create(title: "Title", name: "title", column_type: "text", table_id: events_table.id)}
let!(:start_date_column) { Column.create(title: "Start Date", name: "start_date", column_type: "date", table_id: events_table.id) }

events_table 肯定会被创建并返回一个 ID,如果我稍后在它上面 puts.attributes。我认为带有 bang 的 lets! 会允许它按顺序创建,这样关联就会存在。

虽然我不确定是否会发生这种情况。

如果我列出任一列的属性,table_id 为零。

如何确保它不为零?我做错了什么?

提前致谢!!

事实证明,出于某种原因,可能是因为我没有设置 inverse_of 关联,所以这种关系不起作用。

当我添加 inverse_of,然后将其更改为这个时,它起作用了:

events_table.columns.create!(title: "Title Test")