Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/66.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 Rails 4中生成的错误查询与有许多关系_Ruby On Rails_Ruby On Rails 4 - Fatal编程技术网

Ruby on rails Rails 4中生成的错误查询与有许多关系

Ruby on rails Rails 4中生成的错误查询与有许多关系,ruby-on-rails,ruby-on-rails-4,Ruby On Rails,Ruby On Rails 4,我正在开发一个带有遗留数据库的rails应用程序,因此我不能遵守这些约定。 我有两种型号: class Afiliado < ActiveRecord::Base self.primary_key = "idAfiliado" has_many :registros_odontologicos, class_name: :RegistroOdontologico, foreign_key: 'idRegistroOdontologi

我正在开发一个带有遗留数据库的rails应用程序,因此我不能遵守这些约定。 我有两种型号:

class Afiliado < ActiveRecord::Base
  self.primary_key = "idAfiliado"

  has_many :registros_odontologicos, 
           class_name: :RegistroOdontologico, 
           foreign_key: 'idRegistroOdontologico'
end


class RegistroOdontologico < ActiveRecord::Base
  self.table_name = "registrosodontologicos"
  self.primary_key = "idRegistroOdontologico"

  belongs_to :_afiliado, class_name: "Afiliado", foreign_key: "afiliado" 
end
我得到一个空结果,但请注意最后一个查询是wrog。查询应为:

  SELECT `registrosodontologicos`.* FROM `registrosodontologicos` WHERE `registrosodontologicos`.`afiliado` = 145
我做错了什么

更新 反向导航功能工作正常

RegistroOdontologico.find(2)._afiliado
生成:

  RegistroOdontologico Load (0.3ms)  SELECT `registrosodontologicos`.* FROM `registrosodontologicos` WHERE `registrosodontologicos`.`idRegistroOdontologico` = 2 LIMIT 1
  Afiliado Load (0.3ms)  SELECT `afiliados`.* FROM `afiliados` WHERE `afiliados`.`idAfiliado` = 145 ORDER BY `afiliados`.`idAfiliado` ASC LIMIT 1

您的配置中有一个错误:

has_many :registros_odontologicos, class_name: :RegistroOdontologico, foreign_key: 'idRegistroOdontologico'
belongs_to :_afiliado, class_name: "Afiliado", foreign_key: "afiliado" 

外键
选项不一致。

是<
中的code>外键
选项有很多必须是
外键:“afiliado”
。非常感谢。
has_many :registros_odontologicos, class_name: :RegistroOdontologico, foreign_key: 'idRegistroOdontologico'
belongs_to :_afiliado, class_name: "Afiliado", foreign_key: "afiliado"