2009-12-18 63 views
0

我有一个关于其中的下拉列表中值的来源问题:导轨 - 数据迁移与价值DB

我有设置原始表有一些初始值迁移:

add_column :contracts, :signature_status_id, :integer 

# lookup data 
sig = SignatureStatus.new(:name => "Delivered") 
sig.save! 
sig = SignatureStatus.new(:name => "Signed") 
sig.save! 

我有一个包含更新的值的表称为signature_statuses:

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正在引入“签名”和“已发送”。我如何让它做到这一点。

注意:我认为数据是手动编辑而不是迁移,但我不确定。我还搜索了“已签名”和“已发布”的代码,但唯一显示的地方是正在迁移。

回答

0

事实证明我需要运行“rake db”并修复它。

0

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

也可以发布填充@signature_statuses变量的控制器代码。

多一点信息,我相信人们将能够提供帮助。

+0

查询开发数据库 – easement 2009-12-18 22:37:21

0

嗯,这是一个有点古怪,但我怀疑如下:有可能是一个叫namesignature_status模型内部方法,其覆盖缺省之一,它返回yesno

0

调试这一点,关键是看哪里

@signature_statuses 

在控制器被设定。如果它从数据库中提取,那么这就是数据库中的内容。我想知道是否有多个数据库参与,您的迁移在哪里更新了开发数据库,​​但是您是针对生产(或类似情况)运行查询。