[英]Issue with attr_accessor in rails
我正在开发一个授权是模型的应用程序。 provider是模型的一个领域。 我已经为提供者字段定义了attr_accessor
attr_accessor :provider
虽然我不需要,但在不知不觉中我定义了它并面临一个问题,当我试图为模型创建记录时
Authorization.create(:user_id => user.id, :uid => hash['uid'], :provider =>
hash['provider'])
user_id正在被赋予user.id的值(user是我函数中的变量)但是始终为provider提供null(hash ['provider']包含一个值。
当我删除attr_accessor时,每件事情都正常,我的问题就解决了。 但为什么它以前不起作用? 我很想知道这是什么问题?
我想你可能想要定义一个attr_accessible (假设提供者是你数据库中的一个字段。)
attr_accessor是一个ruby方法,用于在类(或rails的上下文,虚拟属性)上创建属性(带有实例变量,getter和setter)。 您想在模型上创建一个,这是attr_accessible的用途。
有关更详细的说明,请参阅http://www.ruby-forum.com/topic/95220 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.