ruby – 无法批量分配受保护的属性attr_accessor和attr_accessible

ruby – 无法批量分配受保护的属性attr_accessor和attr_accessible,第1张

概述在rails 2.3.11中,我在模型中有以下内容 attr_accessor :person_id 并在控制器中 @project.person_id = current_user.id 现在,我正在使用rails 3.2.11转换它,我正在接受 Can't mass-assign protected attributes: person_id 所以我改变了模型,我从attr_accessor删 在rails 2.3.11中,我在模型中有以下内容

attr_accessor :person_ID

并在控制器中

@project.person_ID = current_user.ID

现在,我正在使用rails 3.2.11转换它,我正在接受

Can't mass-assign protected attributes: person_ID

所以我改变了模型,我从attr_accessor删除了:person_ID并添加到下面的行

attr_accessible :person_ID

但我是控制器中的person_ID,在这里

@project.person_ID = current_user.ID

我现在得到这个

NoMethodError in ProjectsController#createundefined method `person_ID=' for #<Project:0x19cc51a>

任何想法或帮助,我该如何解决这个问题?如何处理attr_accessor和amp; attr_accessible?

解决方法 attr_accessor:person_ID和attr_accessible:person_ID不一样.

attr_accessor是Ruby方法.简而言之,它是方法的捷径:

def person_ID  @person_IDenddef person_ID=(value)  @person_ID = valueend

attr_accessible是Rails方法.获取允许批量分配属性列表.你可以阅读约here.

因此,在您的情况下,您需要它们.

attr_accessor :person_IDattr_accessible :person_ID
总结

以上是内存溢出为你收集整理的ruby – 无法批量分配受保护的属性attr_accessor和attr_accessible全部内容,希望文章能够帮你解决ruby – 无法批量分配受保护的属性attr_accessor和attr_accessible所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1294398.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-10
下一篇 2022-06-10

发表评论

登录后才能评论

评论列表(0条)

保存