工厂女孩与字符串的主键

时间:2015-08-24 07:30:42

标签: ruby-on-rails ruby factory-bot

我正在制作一个rails应用程序,现在正在尝试测试我的应用程序。

现在我有一个带有主键的表格,所以我创建了像这样的工厂女孩​​模型

FactoryGirl.define do
  factory :table_setting do
    setting_id 'some_api_key' # this is the primary key
    setting_value 'some_api_key_value'
  end
end

在spec文件中,我创建了实例。但不知怎的,它像

一样返回
#<table_setting 
   setting_id: 1, 
   setting_value: "apikey_value"
 >

我想使用字符串主键,但它只给我增量整数。有人能告诉我如何处理这件事吗?

经过一些尝试

现在我弄清楚问题是如何存在于我的模型(或mysql数据库)中的

当我查看MySQL中setting_id的数据类型时,我得到了INTEGER的数据类型, 但是当我在rails控制台中查看table_setting的数据类型时,如

> TableSetting

然后它显示setting_id是STRING的数据类型。这让我很困惑..

1 个答案:

答案 0 :(得分:0)

由于Factory Girl按原样使用模型,因此它不会修改字段。因此问题必须出在你的模型中。请检查模型是否正常工作,例如Rails控制台。