2012-04-24 55 views
1

我正在開發一個授權是模型的應用程序。提供者是模型的一個領域。我已經definned attr_accessor爲供應商現場在rails中的attr_accessor問題

attr_accessor :provider 

雖然它並不需要,不知不覺中我定義它,面對一個問題,當我試圖創造一個紀錄爲模型

Authorization.create(:user_id => user.id, :uid => hash['uid'], :provider => 
hash['provider']) 

user_ID的正在assinged user.id的值(用戶是我函數中的一個變量),但提供者總是被分配null(hash ['provider']包含一個值

當我刪除attr_accessor時,每件事情都很好,我的問題得到了解決解決了,但爲什麼以前沒有工作?我是隻是好奇地想知道這是什麼問題?

回答

4

我想你可能是指定義一個attr_accessible(假設供應商在你的數據庫中的字段。)

attr_accessor是紅寶石的方法來創建一個屬性(實例變量,getter和setter)上類(或者在rails的上下文中,一個虛擬屬性)。你想在模型上創建一個,這是attr_accessible的用途。

有關更詳細的說明,請參見http://www.ruby-forum.com/topic/95220