【发布时间】:2016-02-17 02:06:24
【问题描述】:
有关系:
(我的代码是葡萄牙语)
订购
class Pedido < ActiveRecord::Base
belongs_to :pessoa
人
class Pessoa < ActiveRecord::Base
belongs_to :usuario
has_many :enderecos
has_many :pedidos
accepts_nested_attributes_for :enderecos
end
用户
class Usuario < ActiveRecord::Base
has_many :pessoas
has_many :pedidos, through: :pessoas
end
carrinhos_controller.rb
def checkout
@pedido = current_usuario.pedidos.build
end
在迁移中Person 有usuario_id,Order 有pessoa_id 和其他...
当我完成一个订单时,pessoa_id 为空并且没有保存在数据库中,为什么??
更多代码: pedidos_controller.rb
class PedidosController < ApplicationController
before_action :authenticate_usuario!
# Criar pedido
def create
@pedido = current_usuario.pedidos.build(pedido_params)
if @pedido.save
@pedido.construir_cache_item_carrinho(carrinho_atual)
@pedido.calcular_total!(carrinho_atual)
carrinho_atual.limpar!
#OrdemDeServico.new(carrinho_atual, @pedido).encomendar_pedido!
redirect_to pedido_path(@pedido.token)
else
render "carrinho/checkout"
end
end
【问题讨论】:
-
为什么
User和Person是不同的模型? -
因为不等于,用户因人而异,各有各的功能
标签: ruby-on-rails ruby ruby-on-rails-4 relationship