Relacionamento com campos diferentes de id

Pessoal estou tentando fazer um relacionamento com os seguintes campos:

TABELA PESSOA
cpf --> RELACIONAR
nome
data

TABELA DIVIDA
id
descricacao
pessoa_cpf --> RELACIONAR

VIsto que não se trata de um campo ID tentei fazer da seguinte forma,
porém,
não funcionou:

class Divida < ActiveRecord::Base

belongs_to :pessoa , :foreign_key => ‘cpf’

end

class Pessoa < ActiveRecord::Base

has_many :dividas

end

Tô querendo através da busca que meu controller faz poder exibir na view
da
seguinte forma:

divida.pessoa.nome

QUem puder me dar uma luaz agradeço muito! :slight_smile:

valew!

Paulo Roberto

My Portuguese is not that good. But if I understand correctly…

Paulo S. wrote:

Pessoal estou tentando fazer um relacionamento com os seguintes campos:

TABELA PESSOA
cpf → RELACIONAR
nome
data

TABELA DIVIDA
id
descricacao
pessoa_cpf → RELACIONAR

VIsto que não se trata de um campo ID tentei fazer da seguinte forma,
porém,
não funcionou:

class Divida < ActiveRecord::Base

belongs_to :pessoa , :foreign_key => ‘cpf’

Right, that won’t work, because :foreign_key should name the foreign key
field in this table, so it should be pessoa_cpf. You’ll also need to
do
class Pessoa
set_primary_key :cpf
end

end

class Pessoa < ActiveRecord::Base

has_many :dividas

end

Tô querendo através da busca que meu controller faz poder exibir na view
da
seguinte forma:

divida.pessoa.nome

QUem puder me dar uma luaz agradeço muito! :slight_smile:

valew!

Paulo Roberto

I think what I suggested should work. Boa sorte!

Best,

Marnen Laibow-Koser
http://www.marnen.org
[email protected]

I having test using set_primary_key, but print message error:

a.pessoa.nome
NoMethodError: You have a nil object when you didn’t expect it!
The error occurred while evaluating nil.nome

2009/8/6 Marnen Laibow-Koser [email protected]

data
não funcionou:
end


Posted via http://www.ruby-forum.com/.


Paulo Roberto
Webdesigner
Fortaleza - CE

Paulo:
Vc tem mais código no controlador ? E qual sería o código da vista ?
Este erro que vc informa agora, acho que nao tem a ver com a definiçao
das
clases, indicada na resposta de Marnen
Esse erro pode ser que o objeto a nao tem valor (Object nil) entao nao
pode
ser achado pessoa.nome.
Vc pode ver se este erro é do controlador ou da vista desde a consola do
servidor Rails ou bem utilizando o Firebug que é uma otima ferramenta do
Firefox para vc ver o HTML gerado, javascript, CSS etc…
Boa sorte,
FF

2009/8/6 Paulo S. [email protected]