Rails,列名和方法名称行为

时间:2011-08-04 09:14:55

标签: ruby-on-rails

DB表具有列名uid的用户,在User模型中创建方法uid。当您使用以下字段提交表单时:uid,它会调用User方法uid。我从来没有在任何地方看到这个解释,也不知道Rails是这么做的。

这是为该列添加逻辑的好方法,还是应该避免这种情况?

2 个答案:

答案 0 :(得分:1)

这是为模型添加逻辑的好方法。在这里阅读更多相关信息:

http://api.rubyonrails.org/classes/ActiveRecord/Base.html

在“覆盖默认访问者”下。

答案 1 :(得分:1)

它使用所谓的“Ghost方法”模式与“动态方法”模式一起使用method_missing回调。

请在此处查看解释:http://rubylearning.com/blog/2010/10/07/do-you-know-rubys-chainsaw-method/