モデルにisTransferというフィールドがあります。
class AddTxfrColumnsToTransaction < ActiveRecord::Migration
def change
add_column :transactions, :isTransfer, :boolean
add_column :transactions, :transferAccount_id, :integer
end
end
アクションのように動作するコントローラーを作成します::new、ただし転送呼び出しの場合のみnew_transfer:
def new_transfer
account = Account.find(params[:account_id])
@transaction = account.transactions.build
@transaction.description = "Transfer"
@transaction.isTransfer = true
@transaction.amount = 100
respond_to do |format|
format.html # new.html.erb
format.json { render json: @transaction }
end
end
ビューフォームに新しい転送が表示されると、投稿する前に、isTransferがtrueに設定されていることがわかります。しかし、私が投稿するとき、それは常にfalseとしてDBに入ります。他のフィールド(説明と金額)は変更されません-期待どおりに入力されます。
モデルは次のとおりです。
class Transaction < ActiveRecord::Base
attr_accessible :account_id, :amount, :check, :date, :description, :is_cleared, :note, :category, :isTransfer, :transferAccount_id
validates_presence_of :amount, :date
belongs_to :account, class_name: 'Account'
belongs_to :transferAccount, class_name: 'Account'
end