Estou tentando gerar um novo modelo e esquecer a sintaxe para referenciar o ID de outro modelo. Eu mesmo pesquisaria, mas não descobri, entre todos os meus links de documentação do Ruby on Rails, como encontrar a fonte definitiva.
$ rails g model Item name:string description:text
(e aqui um reference:product
ou outro references:product
). Mas a melhor pergunta é onde ou como posso procurar esse tipo de bobagem facilmente no futuro?
Nota: Aprendi da maneira mais difícil que, se eu digitar incorretamente uma dessas opções e executar minha migração , o Ruby on Rails estragará totalmente meu banco de dados ... e rake db:rollback
ficará impotente contra tais estragos. Tenho certeza de que não estou entendendo nada, mas até que eu entenda ... as informações "detalhadas" retornadas por rails g model
ainda me deixam arranhando ...
rails generate model --help
Respostas:
Consulte a seção de definições da tabela .
fonte
:reference
ou:references
na sua resposta ou uma explicação de como passá-lo aos geradores no link que você forneceu?!?string
diferetext
?uniq
eindex
(e todos os tipos) estão documentados no uso derails generate model
. Executerails g model
para ver os documentos de uso.Para criar um modelo que faça referência a outro, use o gerador de modelo Ruby on Rails:
Isso produz app / models / wheel.rb :
E adiciona a seguinte migração:
Quando você executa a migração, o seguinte termina em seu db / schema.rb :
Quanto à documentação, um ponto de partida para geradores de rails é Ruby on Rails: um guia para a linha de comando do Rails, que indica a documentação da API para obter mais informações sobre os tipos de campos disponíveis.
fonte
$ rails g model Item name:string description:text product:references
Eu também achei os guias difíceis de usar. Fácil de entender, mas difícil de encontrar o que estou procurando.
Além disso, tenho projetos temporários nos quais executo os
rails generate
comandos. Então, depois que os trabalho, eu corro no meu projeto real.Referência para o código acima: http://guides.rubyonrails.org/getting_started.html#associating-models
fonte
Lembre-se de não capitalizar seu texto ao escrever este comando. Por exemplo:
Escreva:
Não escreva:
Pelo menos foi um problema para mim.
fonte
model
como referindo-se ao gerador.rails g model Product …
Está bem.)http://guides.rubyonrails.org deve ser um bom site se você estiver tentando passar pelo básico do Ruby on Rails.
Aqui está um link para associar modelos enquanto você os gera: http://guides.rubyonrails.org/getting_started.html#associating-models
fonte
É muito simples no ROR criar um modelo que faça referência a outros.
modelo de trilhos g Nome do item: descrição da string: produto de texto: referências
Este código adicionará a coluna 'product_id' na tabela Item
fonte
Existem muitos tipos de dados que você pode mencionar durante a criação do modelo, alguns exemplos são:
sintaxe:
fonte
Eu tive o mesmo problema, mas meu código era um pouco diferente.
E meu formulário ficou assim:
Isso foi totalmente correto, então eu não sabia como descobrir.
Por fim, apenas adicionando
depois de
trabalhou para mim.
fonte
:integer
,:string
, etc ...).