I ran the code @transaction = Transaction.new
Then I gave it some values:
<Transaction id: nil, debit_uri: "d8hmFJ89CIQUZMBoiPMnvWkQJW/bank_...", credit_uri: "d8hmciqLOg9bCIQUZMBoiPMnvWkQJW/cards...", seller_id: 2, buyer_id: 6, product_id: 31, price: #<BigDecimal:b4a6115c,'0.45E2',9(36)>, ship_price: #<BigDecimal:b4a61094,'0.123E3',9(36)>, ship_method: "fedex", created_at: nil, updated_at: nil>
but when I do @transaction.save!
bang(!) or not I get the error:
NoMethodError: undefined method `clear' for nil:NilClass
from /home/alain/.rvm/gems/ruby-1.9.3-head/gems/activemodel-3.2.13/lib/active_model/validations.rb:194:in `valid?'
so I don't know where to look for the error being how my model has little to nothing and there is no method called clear.
class Transaction < ActiveRecord::Base
attr_accessible :buyer_id, :credit_uri, :debit_uri, :price, :product_id, :seller_id, :ship_method, :ship_price
require 'balanced'
attr_reader :errors
end
Regarding to Rails codebase, the error comes from:
attr_reader :errors
Look here. Try to remove it from your model.
Why?
Since you override the errors
attributes and did not set it when creating your transaction instance, Rails is trying to do:
nil.clear
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With