Ruby on rails Rails-数据迁移与数据库中的值

Ruby on rails Rails-数据迁移与数据库中的值,ruby-on-rails,database,migration,Ruby On Rails,Database,Migration,我有一个关于下拉列表中的值来自何处的问题: 我有一个迁移,它使用一些初始值设置原始表: add_column :contracts, :signature_status_id, :integer # lookup data sig = SignatureStatus.new(:name => "Delivered") sig.save! sig = SignatureStatus.new(:name => "Signed") sig.save! 我有一个名为signature_S

我有一个关于下拉列表中的值来自何处的问题:

我有一个迁移,它使用一些初始值设置原始表:

add_column :contracts, :signature_status_id, :integer

# lookup data
sig = SignatureStatus.new(:name => "Delivered")
sig.save!
sig = SignatureStatus.new(:name => "Signed")
sig.save!
我有一个名为signature_Status的表,其中包含更新的值:

id, name
1, 'Delivered; awaiting signature'
2, 'Delivered; awaiting full execution'
3, 'Terms being negotiated'
4, 'Fully executed and filed'
我有一个表单,其中包含用于提取签名状态的代码:

<%= collection_select(:contract, :signature_status_id, @signature_statuses, :id, :name) %>

当我希望它来自数据库时,集合select正在拉入“Signed”和“Delivered”。我怎样才能做到这一点


注意:我认为数据是手动编辑的,而不是迁移,但我不确定。我还搜索了代码中的“signed”和“delivered”,但它只显示在迁移中。

我只是想知道您是如何在signature\u status表中获得该值列表的?您正在查询您的开发数据库吗?您的应用程序是否在开发模式下运行?database.yml文件是否正确设置为指向开发数据库

您还可以发布填充@signature\u Status变量的控制器代码


再多了解一点信息,我相信人们会提供帮助。

Hmmm,这有点奇怪,但我怀疑:在您的
signature\u status
模型中可能有一个名为
name
的方法,它覆盖了默认方法,并返回
yes
no

调试的关键是查看

 @signature_statuses

正在控制器中设置。如果它是从数据库中提取的,那么这就是数据库中的内容。我想知道是否涉及到多个数据库,其中您的迁移更新了开发数据库,但您正在针对生产运行查询(或类似操作)。

事实证明,我需要运行“rake db”,这就解决了问题