Esta aula depende do projeto rails criado na aula anterior.
Será demonstrado como funciona o relacionamento entre elementos de uma aplicação quanto à dependencias do tipo: model que é depende de outro model.
Primeiramente vamos criar 2 scaffolds, pedido e item_pedido para este projeto sendo o item_pedido dependente de pedido e de carro.
rails g scaffold pedido client_id:integer valor_total:float status:string
rails g scaffold item_pedido pedido:references carro:references valor:float
migração
rails db:migrate
Criando relacionamento entre pedido e item_pedido
class Pedido < ApplicationRecord
has_many :item_pedidos
end
Para alterar referências entre tabelas primeiramente devemos desfazer a criação da tabela no banco de dados podendo fazer o rollback ou apagando a tabela diretamente e de pois rodar o rails g utlizando a flag --force
rails g scaffold pedido client:references valor_total:float status:string --force
Este comando irá recriar a tabela pedido no DB de forma correta onde ela terá referência para o cliente
Agora que as rotas foram alteradas, para acessar estes itens de pedido, primeiramente devemos ver as rotas disponíveis no sistema com o comando 'rails routes' para entender o caminho e assim fazer o link entre o pedido e item de pedido pois os caminhos anteriormente criados para estes itens de pedidos não existem mais e a aplicação quebra.
Fazer a alteração dos links baseados nas novas rotas de itens de pedido:
Aula 39
Estruturas dependentes
Esta aula depende do projeto rails criado na aula anterior. Será demonstrado como funciona o relacionamento entre elementos de uma aplicação quanto à dependencias do tipo: model que é depende de outro model.
Primeiramente vamos criar 2 scaffolds, pedido e item_pedido para este projeto sendo o item_pedido dependente de pedido e de carro.
migração
Criando relacionamento entre pedido e item_pedido
Para alterar referências entre tabelas primeiramente devemos desfazer a criação da tabela no banco de dados podendo fazer o rollback ou apagando a tabela diretamente e de pois rodar o rails g utlizando a flag --force
Continuar aqui https://youtu.be/TLh4mtEEITo?t=1009
Como fazer para que os pedidos dependam de itens de pedido:
Chama-se dependência de rotas:
Agora que as rotas foram alteradas, para acessar estes itens de pedido, primeiramente devemos ver as rotas disponíveis no sistema com o comando 'rails routes' para entender o caminho e assim fazer o link entre o pedido e item de pedido pois os caminhos anteriormente criados para estes itens de pedidos não existem mais e a aplicação quebra.
Fazer a alteração dos links baseados nas novas rotas de itens de pedido:
Sempre que estivermos trabalhando com itens de pedido precisamos ter a instância do pedido deste item de pedido.
Continuação: https://youtu.be/TLh4mtEEITo?t=1376