Estou com uma dúvida, tenho a classe abaixo mas por algum motivo ela não esta salvando o atributo pai(adicionei na mão). Não sei se preciso rodar algo no rake db para funcionar, etc.
filho = Pessoa.new
filho.nome = "Dennys"
pai = Pessoa.new
pai.nome = "Luiz"
filho.pai = pai
filho.save
class Pessoa < ActiveRecord::Base
attr_accessible :altura, :data_de_nascimento, :foto, :nome, :pai
belongs_to :pai, :class_name => "Pessoa", :autosave => true
end
Então, a princípio, o código que você postou, deveria ser o suficiente para ter o efeito que você está esperando (gravar o registro “pai” quando o filho recebe uma invocação de #save). Por isso perguntei se está aparecendo algum erro de execução, ou algo do tipo.
Qual versão do Rails você está usando?
Então, a princípio, o código que você postou, deveria ser o suficiente para ter o efeito que você está esperando (gravar o registro “pai” quando o filho recebe uma invocação de #save). Por isso perguntei se está aparecendo algum erro de execução, ou algo do tipo.
Qual versão do Rails você está usando?[/quote]
Olá Ricardo!
Eu devo ter feito alguma besteira, fiz outro testes e funcionou.
Um ponto que fiquei com dúvida foi o rake db:migrate não gerar as foreignkeys… é normal isso? Pelo que pesquisei ele não gera mesmo…
Então, pelo que entendi sua preocupação é com a geração de constraints no banco para garantir a integridade referencial, é isso? Nesse caso, realmente as migrations não geram essas constraints. Mas você pode usar a gem foreigner: https://github.com/matthuhiggins/foreigner que é justamente para ajudar com isso.
Boa sorte nos estudos! Qualquer dúvida, vamos falando.