Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 问题有很多,属于协会,可以';找不到方法_Ruby On Rails_Ruby - Fatal编程技术网

Ruby on rails 问题有很多,属于协会,可以';找不到方法

Ruby on rails 问题有很多,属于协会,可以';找不到方法,ruby-on-rails,ruby,Ruby On Rails,Ruby,这是一种多对一(合作伙伴)关系 我获得了ProposalTracking的未定义方法“参考”:类@company.ProposalTracking.reference出现错误 当我运行@company.proposalTracking时,它会返回proposalTracking对象 这是我的模型: class ProposalTracking < ActiveRecord::Base set_table_name "Proposal_Tracking" belongs_to :pa

这是一种多对一(合作伙伴)关系

我获得了ProposalTracking的
未定义方法“参考”:类
@company.ProposalTracking.reference出现错误

当我运行
@company.proposalTracking
时,它会返回proposalTracking对象

这是我的模型:

class ProposalTracking < ActiveRecord::Base
  set_table_name "Proposal_Tracking"
  belongs_to :partner
end

class Partner < ActiveRecord::Base
  has_many :proposalTracking
end
但这会导致错误
未定义的提案跟踪方法“参考”:Class

我读过解决方案,因为它是一对多的关系,合作伙伴可能有多个跟踪建议,所以我必须使用
获取第一个。首先
,但我尝试了这个,然后它说

You have a nil object when you didn't expect it!
The error occurred while evaluating nil.reference
任何帮助都将不胜感激

应该是

class Partner < ActiveRecord::Base
  has_many :proposal_trackings
end
类伙伴
您可以通过
@company.proposition\u trackings
访问它。但这实际上是一个ProposalTracking实例数组(因为有很多),您必须迭代才能获得每个属性


@company.proposal\u trackings.map(&:reference)

请在此处更好地解释关联。我不确定合作伙伴是否应该有多个提案跟踪,或者只有一个。这是一个多对一提案跟踪到合作伙伴的关系,因此合作伙伴有多个提案跟踪问题是,我不想要该对象的引用属性,我想要它包含的所有属性。为什么它应该是建议跟踪而不是建议跟踪?这是Rails的惯例。如果需要所有属性,请使用
@company.proposal\u trackings
数组,并使用每个fro示例迭代元素。非常感谢!出于某种原因,在结尾加上“s”起了作用……愚蠢的惯例。但我确实使用了
has\u many:proposalTrackings
,而且它与约定有关。你必须知道这一点。但相信我,这很有帮助。它可以防止大量的配置。你介意按我的回答做标记吗?
class Partner < ActiveRecord::Base
  has_many :proposal_trackings
end