无法访问记录ID字段

时间:2014-04-21 22:08:06

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

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

这是我的问题。当我尝试以下内容时:

@dba_business.legal_business_id = @legal_business.id

我收到以下错误。

  

未定义的方法`id' for#< LegalBusiness :: ActiveRecord_Relation:0x007fe1f2cc3770>

我尝试了以下操作,但@ 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。任何建议表示赞赏。

2 个答案:

答案 0 :(得分:0)

我建议您阅读:http://nofail.de/2013/10/debugging-rails-applications-in-development/

然后查看您的调试消息:

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

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

答案 1 :(得分:0)

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

@object = @ Model.create()

它应该是

@object = Model.create()