加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby – 在没有attr_accessible的Rails 4中自记录ActiveRecord类

发布时间:2020-12-17 02:05:29 所属栏目:百科 来源:网络整理
导读:题: 在post-attr_accessible Rails 4世界中,您建议以什么方式注释您的ActiveRecord模型类文件以传达其(数据库)属性? 进一步思考 作为Rails 3的一部分 – 4升级,我们正在进行切换,并且很高兴,远离attr_accessible和控制器中的强参数.我理解并同意通过此开关
题:
在post-attr_accessible Rails 4世界中,您建议以什么方式注释您的ActiveRecord模型类文件以传达其(数据库)属性?

进一步思考

作为Rails 3的一部分 – > 4升级,我们正在进行切换,并且很高兴,远离attr_accessible和控制器中的强参数.我理解并同意通过此开关改进安全性.如果您想了解更多信息,那么信息就在那里,而且不难发现.

但是,我喜欢在我的Rails 3世界中,在模型文件的顶部提供有关哪些属性构成一个类的提醒.特别是因为我们正在走向一个ActiveRecord类只是DAO的世界,除了数据库属性的集合还有什么类?我不想去schema.rb文件只是为了记住它们.

我错误地想到了这个吗?在DAO世界中,我应该创建我的ActiveRecord模型类文件,然后再也不打开它吗?

我知道annotate_models gem并在当天使用它.我不喜欢在注释掉的行中描述属性. (难以理解,hackish,脆弱)

思考?意见?

解决方法

怎么样:

Person.column_names

如果您使用的是具有控制台功能的IDE或编辑器,则可以轻松地提醒您有哪些属性.我不是Ruby或Rails专家,在这里仍然很新,但我几乎完全使用Rails 4,看起来你不需要看到模型中常见的属性. params在控制器中列入白名单,因为这是他们通常使用的地方,不是吗?如果您不想使用注释,可以在模型中存储属性数组:

my_attr = [:fname,:lname,:age,:height,:weight]

但这真的比评论更有用吗?是否会出现属于attr_accessible的属性,而这些属性不会出现在控制器的白名单中?如果你将一些代码放在每次运行时运行的rake任务中,那将是一种技巧

rake db:...

这将更新模型中的my_attr数组,因此您在修改模型时不必记住这样做.我进入我的模型添加类方法和范围,所以我确实看到了它的值.但我在RubyMine工作,所以我只需要点击左侧的数据库选项卡,如果我需要提醒我的白名单中没有的列.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读