Ruby on rails Rspec没有看到我的活动记录模型

Ruby on rails Rspec没有看到我的活动记录模型,ruby-on-rails,rspec,rspec-rails,Ruby On Rails,Rspec,Rspec Rails,我是Rspec的新手。我使用的是Rails 6。我为Rspec添加了以下gems,并为Rspec运行了install命令 gem 'rspec-rails' gem 'rexml' 我创建了一个spec/models/post_spec.rb文件,如下所示: require 'rails_helper' RSpec.describe Post, type: :model do it "doesn't create a post without a title"

我是Rspec的新手。我使用的是Rails 6。我为Rspec添加了以下gems,并为Rspec运行了install命令

 gem 'rspec-rails'
 gem 'rexml'
我创建了一个spec/models/post_spec.rb文件,如下所示:

require 'rails_helper'

RSpec.describe Post, type: :model do

  it "doesn't create a post without a title" do
    Post.new(title: "", body: "weqwe").save
  end
end
当我运行rspec时,我得到以下错误

NoMethodError:
       undefined method `post' for #<Post id: nil, title: "", body: "weqwe", created_at: nil, updated_at: nil>
命名错误:
未定义的方法“post”用于#
我玩的代码,它打破了任何时候我试图做一些活动记录

另外,如果有帮助的话,运行rails测试不会获取我的任何测试

编辑:这里是完整的错误

An error occurred while loading ./spec/models/post_spec.rb.
Failure/Error: Post.create({title: "something", body: "something"})

NoMethodError:
  undefined method `post' for #<Post id: nil, title: "something", body: "something", created_at: nil, updated_at: nil>
# ./spec/models/post_spec.rb:5:in `block (2 levels) in <main>'
# ./spec/models/post_spec.rb:4:in `block in <main>'
# ./spec/models/post_spec.rb:3:in `<main>'
# /Users/mymac/.rvm/gems/ruby-3.0.0/gems/bootsnap-1.7.5/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:59:in `load'
# /Users/mymac/.rvm/gems/ruby-3.0.0/gems/bootsnap-1.7.5/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:59:in `load'


Finished in 0.00007 seconds (files took 6.23 seconds to load)
0 examples, 0 failures, 1 error occurred outside of examples
加载时出错。/spec/models/post_spec.rb。
失败/错误:Post.create({title:“something”,body:“something”})
命名错误:
未定义的方法“post”用于#
#./spec/models/post_spec.rb:5:in'block(2层)in'
#./spec/models/post_spec.rb:4:in'block in'
#./spec/models/post_spec.rb:3:in`'
#/Users/mymac/.rvm/gems/ruby-3.0.0/gems/bootsnap-1.7.5/lib/bootsnap/load\u path\u cache/core\u ext/kernel\u require.rb:59:in'load'
#/Users/mymac/.rvm/gems/ruby-3.0.0/gems/bootsnap-1.7.5/lib/bootsnap/load\u path\u cache/core\u ext/kernel\u require.rb:59:in'load'
完成时间为0.00007秒(文件加载时间为6.23秒)
0个示例,0个失败,1个错误发生在示例之外

发现问题在于我在模型验证中遇到了这个问题。我的邮递桌上没有贴纸

  validates :title, :post, presence: true

您是否创建了测试数据库?“DB:create”没有设置env,而是创建dev DB,而不是test,尽管iirc DB:test:prepare应该创建测试数据库,并在缺少迁移时获得收益。您应该包括整个堆栈跟踪——错误表示缺少字段或编码错误。“posts”表是什么样子的?这叫“帖子”吗?太好了;很高兴你解决了这个问题。不相关,但请不要添加问题的答案;如果你觉得它对别人有价值,你可以自己回答这个问题。