繁体   English   中英

rails中的attr_accessor问题

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM