【问题标题】:Can't access record id field无法访问记录 ID 字段
【发布时间】:2014-04-21 22:08:06
【问题描述】:

我导入了一个包含一对多关系条目的 Excel 电子表格。例如,一家企业有一个法定名称,但有多个位置,每个位置都有一个 DBA 名称。每个 DBA 位置都有一条记录。我正在过滤输入数据,为一个表中的每个合法企业名称创建一个条目,并为每个 DBA 位置创建一个企业位置条目。我正在尝试将合法业务的记录 ID 手动分配到其每个 DBA 业务位置记录中。

这是我的问题。当我尝试以下操作时:

@dba_business.legal_business_id = @legal_business.id

我收到以下错误。

#<:activerecord_relation:0x007fe1f2cc3770> 的未定义方法“id”

我尝试了以下操作,但 @dba_business.legal_business_id 最终为空白,而不是在字段中输入记录 ID 值。

@dba_business.legal_business_id = @legal_business

Legal_Business 由 has_many :dba_business 和 DBA_business :belongs_to legal_business 设置。

我使用debug.inspect命令查看属性,logger.debug "LEGAL BUSINESS: #{@legal_business.inspect}",可以清楚的看到定义为属性的ID字段。

LEGAL BUSINESS: *#<ActiveRecord::Relation [#<LegalBusiness id: 58722, user_id: nil, legal_name:.........*

我正在使用 PostgreSQL 9.3、Rails 4.1、Ruby 2.1.1 和 rvm。任何建议表示赞赏。

【问题讨论】:

    标签: postgresql ruby-on-rails-4 rvm


    【解决方案1】:

    我推荐阅读:http://nofail.de/2013/10/debugging-rails-applications-in-development/

    然后看看你的调试信息:

    LEGAL BUSINESS: *#<ActiveRecord::Relation [#<LegalBusiness id: 58722, user_id: nil, legal_name:.........*
    

    提示:括号[] 通常在哪里使用?

    【讨论】:

      【解决方案2】:

      我解决了这个问题。快速复制粘贴的结果。我在错误的地方有一个“@”。

      @object = @Model.create()

      应该是这样的

      @object = Model.create()

      【讨论】:

        猜你喜欢
        • 2012-05-25
        • 1970-01-01
        • 1970-01-01
        • 2018-02-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-06-20
        • 2021-07-26
        相关资源
        最近更新 更多