Ruby on rails self.attribute\u name和only attribute\u name之间的差异
假设有一个具有email属性的模型用户。Ruby on rails self.attribute\u name和only attribute\u name之间的差异,ruby-on-rails,ruby,Ruby On Rails,Ruby,假设有一个具有email属性的模型用户。 我查了一些教程,我们可以单独使用self.email和email。那么两者的区别是什么呢?如果您在用户模型中的实例方法中,那么两者都可以工作,但是email本身是一个隐式的范围定义-这意味着应用程序将查找本地email变量,然后是email方法/属性self.email明确跳过对局部变量的搜索。当您在用户类上时,您可以通过不同的方式访问电子邮件 self.email当您在用户范围内时 a_user.email当您指定了一个用户时 在用户类中时发送电子邮
我查了一些教程,我们可以单独使用self.email和email。那么两者的区别是什么呢?如果您在用户模型中的实例方法中,那么两者都可以工作,但是
email
本身是一个隐式的范围定义-这意味着应用程序将查找本地email
变量,然后是email方法/属性self.email
明确跳过对局部变量的搜索。当您在用户类上时,您可以通过不同的方式访问电子邮件
当您在用户范围内时self.email
当您指定了一个用户时a_user.email
。这对用户类中的每个方法都有效在用户类中时发送电子邮件
,由@email
函数返回的变量email
ActiveRecord属性属性[:email]
所有这些方法都是由ActiveRecord模型自动生成的,您可以查看文档以了解更多详细信息。发布一些代码,以便我们了解您的意思。它们在实例方法中都是相同的。请看这篇文章,这里对所有内容进行了解释