客户

时间:2017-06-01 23:10:04

标签: ruby-on-rails

我有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

0 个答案:

没有答案