首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Rails 4中不使用ActiveRecord自记录attr_accessible类文件

在Rails 4中不使用ActiveRecord自记录attr_accessible类文件
EN

Stack Overflow用户
提问于 2013-11-11 22:14:20
回答 1查看 158关注 0票数 4

问题:

在post_accessible 4世界中,您建议以何种方式(如果有的话)注释您的ActiveRecord模型类文件来传递其(数据库)属性?

进一步思考

作为Rails 3 -> 4升级的一部分,我们正在进行一个切换,并且很高兴地远离了attr_accessible和控制器中的强参数。我理解并同意通过这个开关来提高安全性。如果你想知道更多关于这方面的信息,信息是存在的,而且不难找到。

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

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

我知道模型宝石的事,而且早在当时就用过了。我不喜欢在注释行中描述这些属性。(可读性强,粗俗,易碎)

有什么想法?意见?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-12 06:50:59

不如:

代码语言:javascript
复制
Person.column_names

如果您正在使用具有控制台功能的IDE或和编辑器,这将成为一种简单的方法来提醒您有哪些属性。我不是Ruby或Rails专家,在这里还是很新的,但我几乎一直在使用Rails 4,似乎您不需要看到模型中经常出现的属性。params在控制器中被白化,因为这是它们通常被使用的地方,不是吗?如果不想使用注释,可以在模型中存储属性数组:

代码语言:javascript
复制
my_attr = [:fname, :lname, :age, :height, :weight]

但这真的比评论更有用吗?是否会出现attr_accessible中没有出现在控制器中的白名单中的属性?如果您将一些代码放入每次运行的rake任务中,这将是一个诡计。

代码语言:javascript
复制
rake db:...

这将更新模型中的my_attr数组,以便您在修改模型时不必记得要这样做。我进入我的模型来添加类方法和作用域,所以我确实看到了其中的一个值。但是我在RubyMine工作,所以如果需要提醒我白名单中没有列的话,我只需点击左边的DB选项卡。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19917022

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档