Sou novo por aqui, mas não sou tão novo assim em Ruby on Rails.
Vou tentar esclarecer sua dúvida.
Você pode referenciar outra tabela nas migrações utilizando os atalhos references ou belongs_to dessa maneira (eu prefiro references por me proporcionar melhor leitura do código, mas vai do gosto do freguês):
create_table tabelafilho do |t| t.references :tabelapai end
Dessa maneira é criada uma coluna do tipo integer chamada "tabelapai_id".
Após criar sua tabela com foreign key, não se esqueça de adicionar os filtros necessários nos modelos (has_many, belongs_to, etc.). Existem diversas opções para esses filtros que permitem diversos tipos de associações, então eu recomendo que você dê uma olhada na documentação oficial (http://api.rubyonrails.org).
E isso funciona também nos geradores que possivelmente criem uma migration, utilizando references como se fosse um tipo de coluna dessa maneira:
ruby script/generate model ModeloFilho modelopai:references coluna1:string coluna2:integer
Agora para você desenvolver um pouco do seu conhecimento, observe se foi criada uma foreign key "de verdade" no banco de dados, ou se essa validação pertence exclusivamente às classes herdadas de ActiveRecord::Base (os modelos). Tente descobrir o motivo.
Olá Lucas.
Sou novo por aqui, mas não sou tão novo assim em Ruby on Rails.
Vou tentar esclarecer sua dúvida.
Você pode referenciar outra tabela nas migrações utilizando os atalhos references ou belongs_to dessa maneira (eu prefiro references por me proporcionar melhor leitura do código, mas vai do gosto do freguês):
create_table tabelafilho do |t|
t.references :tabelapai
end
Dessa maneira é criada uma coluna do tipo integer chamada "tabelapai_id".
Após criar sua tabela com foreign key, não se esqueça de adicionar os filtros necessários nos modelos (has_many, belongs_to, etc.). Existem diversas opções para esses filtros que permitem diversos tipos de associações, então eu recomendo que você dê uma olhada na documentação oficial (http://api.rubyonrails.org).
E isso funciona também nos geradores que possivelmente criem uma migration, utilizando references como se fosse um tipo de coluna dessa maneira:
ruby script/generate model ModeloFilho modelopai:references coluna1:string coluna2:integer
Agora para você desenvolver um pouco do seu conhecimento, observe se foi criada uma foreign key "de verdade" no banco de dados, ou se essa validação pertence exclusivamente às classes herdadas de ActiveRecord::Base (os modelos). Tente descobrir o motivo.
Espero ter ajudado.
Uma braço e até a próxima.