0
我剛剛開始學習ActiveRecord,並且我只是嘗試一些小東西來弄清楚一切是如何工作的。我剛剛在以下sqlite3數據庫上嘗試了以下代碼。ActiveRecord刪除...?
紅寶石:
class Balances < ActiveRecord::Base
def initialize
@balance = 50
update_attribute(:balance, @balance)
end
def withdraw amount
update_attribute(:balance, @balance-amount)
end
end
SQL:
CREATE TABLE balance(
balance 50
);
當我寫:
balance = Balances.new
我得到:
NoMethodError: undefined method `delete' for nil:NilClass
from /Users/Solomon/.rvm/gems/ruby-1.9.3-p125/gems/activerecord-3.2.3/lib/active_record/attribute_methods/write.rb:28:in `write_attribute'
from /Users/Solomon/.rvm/gems/ruby-1.9.3-p125/gems/activerecord-3.2.3/lib/active_record/attribute_methods/dirty.rb:67:in `write_attribute'
from /Users/Solomon/.rvm/gems/ruby-1.9.3-p125/gems/activerecord-3.2.3/lib/active_record/attribute_methods/write.rb:14:in `balance='
from /Users/Solomon/.rvm/gems/ruby-1.9.3-p125/gems/activerecord-3.2.3/lib/active_record/persistence.rb:180:in `update_attribute'
這是爲什麼?難道我做錯了什麼?