Forum: Italian Ruby user group belongs_to su database legacy

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
1ba9e90a649d4878b7c7196592c746e7?d=identicon&s=25 Sam Pei (sampei)
on 2008-11-18 19:32
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.
This topic is locked and can not be replied to.