Ruby on rails Rails 4中生成的错误查询与有许多关系
我正在开发一个带有遗留数据库的rails应用程序,因此我不能遵守这些约定。 我有两种型号: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
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"