fre*_*oma 2 ruby activerecord model ruby-on-rails attr-accessor
我的模型,"DataFile",有一堆字段,我想从模型外部设置,例如
file = DataFile.new file.owner = 123
现在,据我所知,我必须在我的模型中放置一个"attr_accessor:field",用于我想从外部修改的每个字段.但是,上面的代码运行正常,没有定义任何attr_accessors,将owner字段设置为123.为什么?
我希望得到一个"方法未定义"错误或类似的东西.
Dre*_*son 11
因为Rails的ORM使用ActiveRecord模式,所以为与该表关联的数据库中的每个列自动创建两个方法:columnname和columnname =.由于您的模型继承自ActiveRecord :: Base,这会"自动"发生.这些方法是使用ruby的元编程工具定义的,并且是在创建类时动态创建的.
有关确切内容的更多信息,我将查看Rails源代码.但是,上述内容可能足以让您对正在发生的事情有所了解.
| 归档时间: |
|
| 查看次数: |
3571 次 |
| 最近记录: |