Ruby on rails 问题有很多,属于协会,可以';找不到方法
这是一种多对一(合作伙伴)关系 我获得了ProposalTracking的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
未定义方法“参考”:类@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