我有2个型号:客户和销售
class Sale < ApplicationRecord
belongs_to :customer, inverse_of: :sales
accepts_nested_attributes_for :customer
end
class Customer < ApplicationRecord
has_many :sales, inverse_of: :customer
end
在SALE控制器中,我有一个CUSTOMER'S值
的表格要创建新的促销,我没有任何问题,但是当我尝试更新时,会出现“客户”的错误“未知属性'valor_oferta'
销售控制器
class SalesController < ApplicationController
before_action :authenticate_user!
def new
@sale = Sale.new
@sale.build_customer
end
def create
@sale = Sale.new(proposta_params)
respond_to do |format|
if @sale.save
format.html { redirect_to dashboard_path, notice: 'Proposta criada com sucesso.' }
else
format.html { render :new }
@sale.errors.each do |erro|
puts erro
end
end
end
end
def edit
@sale = Sale.find(params[:id])
@sale.customer
end
def update
@sale = Sale.find(params[:id])
respond_to do |format|
if @sale.customer.update(proposta_params)
format.html { redirect_to dashboard_path, notice: 'Proposta alterada com sucesso.' }
else
format.html { render :edit }
@sale.errors.each do |erro|
puts erro
end
end
end
end
private
def proposta_params
params.require(:sale).permit(:valor_oferta, :grupo_promocao, :codigo_oferta, :modo_pagamento, :vencimento, :banco, :agencia, :conta, :isento, :valor, :data_envio_qualidade, :data_agendamento_qualidade, :janela_agendamento, :data_instalacao_qualidade,:tv_id, :phone_id, :internet_id, :equipamentos, :cep, :rua, :numero, :complemento, :bairro, :cidade, :uf, :ponto_de_referencia, :obs, customer_attributes: [:name, :cpf_pf, :nascimento_pf, :nome_mae_pf, :nome_mae_pf, :cnpj_pj, :fundacao_pj, :telefone1, :telefone2, :telefone3, :email, :juridica])
end
end
我已经尝试过只使用
if @sale.update(proposta_params)
但在这种情况下,另一个客户已创建且未更新
我使用Rails 5
#################编辑分贝/ schema.rb
create_table "sales", force: :cascade do |t|
t.integer "lead_id"
t.string "solicitante"
t.integer "protocolo"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.integer "tv_id"
t.integer "phone_id"
t.integer "internet_id"
t.string "solicitante_pf"
t.string "valor_oferta"
t.string "grupo_promocao"
t.string "codigo_oferta"
t.string "vencimento"
t.boolean "isento"
t.string "valor"
t.string "data_envio_qualidade"
t.string "data_agendamento_qualidade"
t.string "janela_agendamento"
t.string "data_instalacao_qualidade"
t.integer "customer_id"
t.string "agencia"
t.string "conta"
t.string "banco"
t.string "modo_pagamento"
t.integer "equipamentos"
t.string "cep"
t.string "rua"
t.string "numero"
t.string "complemento"
t.string "bairro"
t.string "cidade"
t.string "uf"
t.string "ponto_de_referencia"
t.text "obs"
t.integer "user_id"
t.integer "user_qualidade_id"
t.integer "status_sale_id"
t.index ["customer_id"], name: "index_sales_on_customer_id", using: :btree
t.index ["internet_id"], name: "index_sales_on_internet_id", using: :btree
t.index ["lead_id"], name: "index_sales_on_lead_id", using: :btree
t.index ["phone_id"], name: "index_sales_on_phone_id", using: :btree
t.index ["status_sale_id"], name: "index_sales_on_status_sale_id", using: :btree
t.index ["tv_id"], name: "index_sales_on_tv_id", using: :btree
t.index ["user_id"], name: "index_sales_on_user_id", using: :btree
end