ruby-on-rails - FactoryGirl 不知道新专栏

标签 ruby-on-rails factory-bot

您好,我正在使用带有 Rails 4.2.11 的 FactoryGirl 4.9.0。我向名为 Query 的模型添加了一个 bool 列,如下所示:

class AddSetLatestResultToQueries < ActiveRecord::Migration
  def change
    add_column :queries, :latest_result_s3_url_flag, :boolean, null: false, default: false
  end
end

这个标志工作正常,应用程序本身也工作正常,但是当涉及到 rspec 时,FactoryGirl 似乎无法识别这个新列。

我试着像这样将它添加到工厂模型中:

FactoryGirl.define do
  factory :query do
    latest_result_s3_url_flag false
    title 'some title'
    latest_body 'SELECT TIMEOFDAY();'

 ... etc ...

end

但是当我运行 rpsec spec 时,我看到了这个错误:

      NoMethodError:
        undefined method `latest_result_s3_url_flag=' for #<Query:0x00007ff6f9108428>

最佳答案

只需运行这个:

RAILS_ENV=test rake db:migrate

关于ruby-on-rails - FactoryGirl 不知道新专栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54526034/

相关文章:

ruby-on-rails - 如何更改 f.has_many 中的标题和名称按钮? rails 上的 active_admin

ruby-on-rails - 授权逻辑 : verifying login/password

ruby-on-rails-3 - 如何正确使用Factory_girl和has_many 'through'模型

ruby-on-rails - 使用 RSpec 和 Factory_Girl 在 Rails 中测试具有关系和回调的模型

ruby-on-rails - 工厂女孩 - 操纵 transient 属性

ruby-on-rails - Rspec:验证失败:名称已被占用

ruby-on-rails - 通过查询从 has Many 中的连接表获取信息

ruby-on-rails - Rails5 - ruby​​ 2.2.3//ActiveSupport::TimeZone 是如何改变的?

ruby-on-rails - ActiveRecord 对象属性名称与方法名称相同

factory_girl/机械师中的单例工厂?