こんにちは私はプロジェクトを実装しています。この Loan_fines テーブルでは、本とカテゴリの 2 つのテーブルを参照しています。
次のエラーが表示されます:-
NoMethodError in LoanFinesController#create
undefined method `blank' for [1, 1]:Array
app/models/loan_fine.rb:32:in `book_or_category'
app/controllers/loan_fines_controller.rb:46:in `block in create'
app/controllers/loan_fines_controller.rb:45:in `create'
私のローン罰金表は次のとおりです:-
id integer NOT NULL DEFAULT nextval('loans_fines_id_seq'::regclass),
category_id integer,
book_id integer,
loan_duration integer,
fine_amount numeric(8,2) DEFAULT 0.0,
fine_duration integer,
deleted integer NOT NULL DEFAULT 0,
CONSTRAINT loans_fines_pkey PRIMARY KEY (id)
nextval('loans_fines_id_seq'::regclass)
この表は先輩から譲り受けたものなのですが、意味も理由もわかりません
また、作成のための私のローン罰金コントローラーは次のとおりです:-
def create
@loan_fine = LoanFine.new(params[:loan_fine])
respond_to do |format|
if @loan_fine.save
format.html { redirect_to @loan_fine, notice: 'Loan fine was successfully created.' }
format.json { render json: @loan_fine, status: :created, location: @loan_fine }
else
format.html { render action: "new" }
format.json { render json: @loan_fine.errors, status: :unprocessable_entity }
end
end
end
私のローン罰金モデルは次のとおりです:-
class LoanFine < ActiveRecord::Base
attr_accessible :book_id, :category_id, :loan_duration, :fine_amount, :fine_duration
# ------- ASSOCIATIONS -----------
belongs_to :book
belongs_to :category
# ------ VALIDATIONS ------
validate :book_or_category
private
def book_or_category
if [self.book_id, self.category_id].compact.blank.size == 0
errors[:base] << ("Please choose either book or category.")
end
end
end
私はこれにこだわっています.これを実装する方法がわかりません.誰か助けてください.