Rails错误:`assert_valid_keys中的块':未知键:类

时间:2018-09-11 16:00:48

标签: ruby-on-rails has-and-belongs-to-many

我有一个正在运行的Rails项目。我要添加一个功能,在两个表之间添加辅助关系。他们有一个主联接表,而我要为另一个关系添加第二个:

在客户端中:

  has_and_belongs_to_many :reports, :join_table => 'reports_clients'
  has_and_belongs_to_many :managed_reports, :class => :reports, :join_table => 'client_report_manager'

在报告中

  has_and_belongs_to_many :clients, :join_table => 'reports_clients'
  has_and_belongs_to_many :client_managers, :class => :clients, :join_table => 'client_report_manager'

我遇到以上错误:'block in assert_valid_keys': Unknown key: class (ArgumentError)

至少我很确定那是错误所在……reports_clients关系可以正常工作。我认为,新的client_report_manager是打破它的东西。

1 个答案:

答案 0 :(得分:2)

  

“在assert_valid_keys中阻止”:未知键:类(ArgumentError)

问题在于,class在此处不是有效的密钥。它应该是class_name。此外,class_name的值应为该类的名称

has_and_belongs_to_many :managed_reports, :class_name => 'Report', :join_table => 'client_report_manager'

has_and_belongs_to_many :client_managers, :class_name => 'Client', :join_table => 'client_report_manager'