Uygulamamın 3 ödeme yöntemini kabul edebilen iş ortakları var. Kayıtları oluşturmak/düzenlemek için PostgreSQLBirden çok onay kutusu değerleri kaydedildi, ancak Raylar biçiminde yüklenmedi
'daki bir form ve bir dizi alanında birden çok onay kutusu kullanıyorum. Komik olan şey, hem oluştururken hem de güncellerken değerleri kaydederken iyi çalışmasıdır. Dizi, onay kutularına dayalı bir dizi olarak PG tablosuna iyi kaydedilir. Ancak, düzenleme yaparken, düzenleme formu doğru değerleri veritabanından yüklemez. Tüm onay kutuları, PG tablosundaki dizi değerlerini göz ardı ederek her zaman işaretsiz görünür. Taşıma işlemi, geçişin varsayılan olarak onaylandığı varsayılan tüm onay kutularını belirlediği halde oluştururken gerçekleşir.
Herhangi bir yardım için teşekkür ederiz.
= form_for @merchant, layout: :horizontal do |f|
= f.check_box :payment_accepted, { :multiple => true }, 'Credit Card', nil
= f.check_box :payment_accepted, { :multiple => true }, 'Paypal', nil
= f.check_box :payment_accepted, { :multiple => true }, 'Direct Deposit', nil
= f.submit 'Save Changes', :class => 'btn btn-primary'
Benim denetleyicisi kodudur:
class MerchantsController < ApplicationController
load_and_authorize_resource
before_action :set_merchant, only: [:show, :edit, :update, :destroy]
respond_to :html, :json, :js
def index
@merchants = Merchant.all
end
def show
end
def new
@merchant = Merchant.new
end
def edit
end
def create
@merchant = Merchant.new(merchant_params)
@merchant.save
respond_with(@merchant)
end
def update
@merchant.update(merchant_params)
flash[:notice] = 'Merchant was successfully updated.'
respond_with(@merchant)
end
def destroy
@merchant.destroy
redirect_to merchants_url, notice: 'Merchant was successfully destroyed.'
end
private
def set_merchant
@merchant = Merchant.find(params[:id])
end
def merchant_params
params.require(:merchant).permit(:name, :description, :notif_email, :category_id, :country_id, :costo_procesamiento, payment_accepted:[])
end
end
Ve göç:
Paylaşılan oluşturmak ve düzenlemek için kısmi görüntülemek
class CreateMerchants < ActiveRecord::Migration
def change
create_table :merchants do |t|
t.string :name
t.text :description
t.text :default_terms
t.text :notif_email
t.boolean :visible, default: true
t.integer :category_id
t.integer :country_id
t.integer :costo_procesamiento, null:false, default: 0
t.string :payment_accepted, array: true, default: "['Credit Card','Paypal','Direct Deposit']"
t.references :country, index: true, foreign_key: true
t.timestamps null: false
end
end
end
. Sana yeterince teşekkür edemem! – Augusto