如何在Rails中发现模型属性?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (26)

Rails在运行时动态创建模型属性的事实可以节省大量的重复输入,但是我发现很难轻松发现所有模型类中存在哪些属性/属性,因为它们没有在我的类文件中明确定义。为了发现模型属性,我保持schema.rb文件处于打开状态,并在它和我正在编写的使用模型属性的任何代码之间翻转。这很有效,但是很笨重,因为我必须读取模式文件来拾取属性,使用模型类文件来拾取方法,以及编写的任何新代码来调用属性和方法。

所以我的问题是,如何在第一次分析Rails代码库时发现模型属性?你是否始终保持schema.rb文件处于打开状态,还是有一种更好的方式,不需要经常在模式文件和模型文件之间跳转?

提问于
用户回答回答于

用于模式相关的内容

Model.column_names         
Model.columns_hash         
Model.columns 

例如,AR对象中的变量/属性

object.attribute_names                    
object.attribute_present?          
object.attributes

例如,没有继承超类的方法。

Model.instance_methods(false)
用户回答回答于

有一个名为Annotate models的rails插件,它会在模型​​文件的顶部生成模型属性,这里是链接:

https://github.com/ctran/annotate_models

为了使注解保持同步,你可以编写一个任务以在每次部署后重新生成注释模型。

扫码关注云+社区