假设有一个具有电子邮件属性的模型用户。我已经查看了一些我们可以单独使用 self.email 和 email 的教程。那么两者有什么区别呢?
问问题
305 次
2 回答
2
如果您在 User 模型中的实例方法中,那么任何一个都可以工作,但email
它本身就是一个隐式范围定义 - 这意味着应用程序将查找一个局部email
变量,然后是一个电子邮件方法/属性。self.email
显式跳过对局部变量的搜索。
于 2013-03-22T11:21:57.550 回答
1
当您在 User 类时,您可以通过不同的方式访问电子邮件。
self.email
当您在用户范围内时a_user.email
当您指定用户时email
当您在 User 类中时。这对 User 类中的每个方法都有效。@email
email
,函数返回的变量attributes[:email]
ActiveRecord 属性。
所有这些方法都是由 ActiveRecord 模型自动生成的,您可以查看文档了解更多详细信息。
于 2013-03-22T11:27:42.350 回答