2012-04-24 38 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