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”,这就解决了问题