Belongs_to su database legacy


#1

Salve a tutti

Ho un database legacy con due tabelle, diciamo tabella1 e tabella2.
Tabella1 ha un campo “campo1” e tabella2 ha un campo “campo2”, che
corrisponde a “campo1” di tabella1. Ora per fare un join di queste due
tabelle da SQL faccio:

select * from tabella1 inner join tabella2 on tabella1.campo1 =
tabella2.campo2

Come si fa con ActiveRecord?

Ho provato a fare

class Tabella1 < ActiveRecord::Base

belongs_to :tabella2, :foreign_key => “campo2”

class Tabella2 < ActiveRecord::Base

has_many :tabella1, :foreign_key => “campo1”

Ma non funziona.

Penso che il problema sia che rails prova a vedere tabella2_id = campo2
anzichè campo1 =campo2 e tabella1_id=campo1 anzichè campo2=campo1.

Infatti con :foreign_key specifico il campo dell’altra tabella, ma come
specifico quello della tabella di partenza?

Ho anche provato a fare set_primary_key “campo1” ma non è cambiato
niente.

Qualche idea?

Grazie a tutti.