我知道Ruby中的方法是自我限制的。我的意思是,如果我們調用一個沒有指定對象的方法,那麼它會隱式地使用自己的對象並調用相應的方法。爲什麼我們在紅寶石中使用自我
require "active_record"
require 'sqlite3'
ActiveRecord::Base.establish_connection(:adapter => 'sqlite3', :database => 'test_one')
class Account < ActiveRecord::Base
table_name = "account_bean" // I suck at this line
end
按規定申報類以上和查詢ActiveRecord的爲後:
Account.table_name
我收到「賬戶」作爲輸出,而不是「account_bean」。但是,如果我將Account定義爲如下,則輸出如預期。
class Account < ActiveRecord::Base
self.table_name = "account_bean"
end
任何人都可以澄清爲什麼我們在這裏使用自我?
在投票之前給出理由 – pramod