您好
我正在尝试使用active_admin创建新的rails应用程序
但桌子名称&列名不符合命名惯例
在这里,我有两个模型,它们具有一对一的关联
在SUIUBI表中没有id列,而是有UBIREFNUM列
在SUIURA表中,URAUBIREFNUM列是外键而不是suiubi_id列
所以它给出了错误
undefined method `suiubi_id_eq' for #<MetaSearch::Searches::Suiura:0x007ff50ca1fe38>
为此,我直接使用了外键。 但它不会帮助&amp;仍然会出错。
类Suiubi&lt;的ActiveRecord :: Base的
set_table_name“SUIUBI”attr_accessible:UBIREFNUM,:UBIFNAME,:UBILNAME,:UBIEMAILID,:UBIMOBNUM,:UBITELNUM,:UBICITY,:UBIADD,:UBIDEPT,:UBIPASSWORD,:UBICREATEDDATE, :UBICREATEDBY,:UBIMODIFIEDDATE,:UBIMODIFIEDBY,:UBIISACTIVE
has_one:sui_ura
端类Suiura&lt;的ActiveRecord :: Base的
set_table_name“SUIURA” attr_accessible:URANAME,:URAUBIREFNUM,:URARMTREFNUM,:URAISACTIVE,:URACREATEDDATE,:URACREATEDBY,:URAMODIFIEDDATE,:URAMODIFIEDBYbelongs_to:suiubi,:primary_key =&gt; “UBIREFNUM”,:foreign_key =&gt; “URAUBIREFNUM”
端
我知道错误是由于表名和列名而造成的 但我严格按照这种方式需要数据库 那么我该如何关联这两个模型呢?
答案 0 :(得分:0)
您需要为Active Records ...
指定id和/或外键属性看看http://guides.rubyonrails.org/association_basics.html
这里有一个类似的问题也有很好的答案
Rails ActiveRecord: legacy table without primary key shows nil for result?
的问候,