0
我有一個控制器實例化一個模型,然後調用一個方法來建立關聯。我試圖用這種方法來設置模型的屬性,但它沒有工作,我想知道爲什麼。如何使用方法調用設置Rails模型的實例屬性?
這裏是我的代碼:
#my controller
user = User.new
user.apply_omniauth(omniauth)
debugger
#my model
def apply_omniauth(omniauth)
email=omniauth["extra"]["user_hash"]["email"]
name=omniauth["extra"]["user_hash"]["name"]
authentications.build(:provider => omniauth['provider'],:uid => omniauth['uid'])
end
#irb
rails:6ree-1.8.7-2010.02 > user.name
=> nil
當我設置從控制器的屬性,那麼它的工作。
訪問它。或者,您可以使用'write_attribute(email,'[email protected]')'。這繞過了任何覆蓋的屬性設置器。 – 2010-11-05 23:32:22