【问题标题】:Replacing rails convensions (database table names & fields)替换 Rails 约定(数据库表名和字段)
【发布时间】:2013-12-01 05:45:06
【问题描述】:

您好,
我正在尝试使用 active_admin 创建新的 rails 应用程序。
但表名和列名不符合命名约定
在这里,我有两个具有一对一关联的模型。
在 SUIUBI 表中没有 id 列,而是有 UBIREFNUM 列
并且在 SUIURA 表中 URAUBIREFNUM 列是外键而不是 suiubi_id 列
所以它给出了错误

undefined method `suiubi_id_eq' for #<MetaSearch::Searches::Suiura:0x007ff50ca1fe38> 

为此,我直接在关联中使用了外键。 但这无济于事,仍然会出错。

类随笔 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 set_table_name "SUIURA" attr_accessible :URANAME, :URAUBIREFNUM, :URARMTREFNUM, :URAISACTIVE, :URACREATEDDATE, :URACREATEDBY, :URAMODIFIEDDATE, :URAMODIFIEDBY

belongs_to :suiubi, :primary_key => "UBIREFNUM", :foreign_key => "URAUBIREFNUM"
结束

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

【问题讨论】:

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


    【解决方案1】:

    您需要为 Active Records 指定 id 和/或外键属性...

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

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

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

    问候,

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-13
      • 2012-07-23
      • 2014-02-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多