2

当我想将 build 用于多对多关联时,我的控制器中出现以下错误:

未知属性:fte_report_option_id

在我的控制器中:

def edit_clients_reports
@fte_report_option = FteReportOption.find(params[:id])
@fte_report_option.fte_report_client_options.build
end

在我的第一个模型中,我有:

类 FteReportOption < ActiveRecord::Base

has_many :fte_report_client_options, :dependent => :destroy
has_many :clients, :through => :fte_report_client_options
结束

在我的第二个模型中:

类 FteReportClientOption < ActiveRecord::Base
self.primary_key = "client_report_id"

belongs_to :fte_report_option, :foreign_key => :option_id, :class_name => "FteReportOption" belongs_to :client, :foreign_key => :client_id, :class_name => "Client"
end

我的第三个模型:

类客户端 < ActiveRecord::Base
set_primary_key "client_id"

has_many :fte_report_client_options, :dependent => :destroy
has_many :fte_report_options, :through => :fte_report_client_options

在我的连接表迁移中,我有:

create_table :fte_report_client_options, :primary_key => "client_report_id", :force => true do |t|
t.integer :option_id
t.integer :client_id
t.timestamps
结束

有谁知道发生了什么?

Thanks for your help

4

1 回答 1

0

In your migration, change line:

t.integer :option_id

to:

t.integer :fte_report_option_id
于 2012-10-21T00:22:41.577 回答