gpt4 book ai didi

ruby-on-rails - 无效的源反射宏 :has_many :through

转载 作者:数据小太阳 更新时间:2023-10-29 08:19:23 24 4
gpt4 key购买 nike

我有这样愤怒的联想:融资 >- 事件 >- 子程序 >- 程序。我想通过所有程序从程序中访问 last_financings,所以代码是:

class Fcp < Program
has_many :fcp_subprograms,
:foreign_key => 'parent_id'
has_many :subprogram_last_actual_financings,
:through => :fcp_subprograms,
:source => :last_actual_financings

class FcpSubprogram < Program
belongs_to :fcp,
:class_name => 'Fcp',
:foreign_key => 'parent_id'

has_many :events,
:foreign_key => 'fcp_id'

has_many :last_actual_financings,
:through => :events,
:source => :last_actual_financings

class Event < ActiveRecord::Base
belongs_to :fcp,
:class_name => 'Fcp',
:foreign_key => 'fcp_id'
belongs_to :fcp_subprogram,
:class_name => 'FcpSubprogram',
:foreign_key => 'fcp_id'

has_many :last_actual_financings,
:class_name => 'ActualFinancing',
:order => 'date DESC',
:limit => 1

所以当我想在 after_initialize 函数中访问 subprogram_last_actual_financings 时,我得到了这个错误

Invalid source reflection macro :has_many :through for has_many :subprogram_last_actual_financings, :through => :fcp_subprograms.  Use :source to specify the source reflection.

但我的关联中有 :source 选项。我做错了什么?

最佳答案

你得到的错误是关于 source_reflection 是一个无效的关联,因为 has_many through 的 source 必须是 belongs_to、has_one 或 has_many without through 选项。所以你不能使用 :last_actual_financings 作为来源。

关于ruby-on-rails - 无效的源反射宏 :has_many :through,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1926536/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com