ActiveRecord::Fixture::FixtureError: table "posts" has no column named "user" - where a 'post' belongs_to 'user'

ActiveRecord::Fixture::FixtureError: table "posts" has no column named "user" - where a 'post' belongs_to 'user'

我正在尝试为 class 与 belongs_to 关联创建一些关联测试。

创建固定装置时测试失败 - Rails 未检测 Posts 中的 belongs_to :user 关联。

它似乎传递了常规的 rake test 命令,但当 guard.

中的单个文件是 运行 时却没有传递

测试如下:

module Post
  class AssociationsTest < ActiveSupport::TestCase
    subject { Post.new }
    should belong_to(:user)
  end
end

我设法找出了我的问题 - 我认为这是因为我在测试中使用了嵌套的 module/class 定义,并且使用了相同的模块名称。

工作代码是:

class Post::AssociationsTest < ActiveSupport::TestCase
  subject { Post.new }
  should belong_to(:user)
end