替换rails约定(数据库表名和;字段)

时间:2013-11-18 06:39:15

标签: ruby-on-rails ruby foreign-keys associations activeadmin

您好
我正在尝试使用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,:URAMODIFIEDBY

     

belongs_to:suiubi,:primary_key =&gt; “UBIREFNUM”,:foreign_key =&gt; “URAUBIREFNUM”
  端

我知道错误是由于表名和列名而造成的 但我严格按照这种方式需要数据库 那么我该如何关联这两个模型呢?

1 个答案:

答案 0 :(得分:0)

您需要为Active Records ...

指定id和/或外键属性

看看http://guides.rubyonrails.org/association_basics.html

这里有一个类似的问题也有很好的答案

Rails ActiveRecord: legacy table without primary key shows nil for result?

的问候,