Ruby on rails 控制器设置局部变量而不是调用setter
在我的应用程序中,我有一个名为Ruby on rails 控制器设置局部变量而不是调用setter,ruby-on-rails,ruby,Ruby On Rails,Ruby,在我的应用程序中,我有一个名为pagetitle=的方法,它设置页面标题,还有一个助手方法pagetitle,它根据提供的字符串(或不存在的字符串)创建页面标题 pagetitle=在ApplicationController超类中定义,而pagetitle在ApplicationHelper类中定义 我的问题是,每当我调用pagetitle=“Some string”该方法时,rails都倾向于创建局部变量pagetitle,而不是调用该方法 如果我调用self.pagetitle=“Some
pagetitle=
的方法,它设置页面标题,还有一个助手方法pagetitle
,它根据提供的字符串(或不存在的字符串)创建页面标题
pagetitle=
在ApplicationController
超类中定义,而pagetitle
在ApplicationHelper
类中定义
我的问题是,每当我调用pagetitle=“Some string”
该方法时,rails都倾向于创建局部变量pagetitle
,而不是调用该方法
如果我调用self.pagetitle=“Some string”
,则调用该方法
这是故意的行为吗?我错过了什么
TL;DR:Why
pagetitle=
创建局部变量并self.pagetitle=
调用我的方法是的,这是预期的行为
您可以使用
self.
编写实例变量,否则Ruby只创建局部变量。是的,这是预期的行为
您可以使用
self.
来编写实例变量,否则Ruby只会创建局部变量。出于兴趣,pagetitle=(“某些字符串”)
的行为如何?@Yule它与pagetitle=“某些字符串”
相同,如果这就是您要问的Ep,仅此而已。谢谢。@Yule没问题:)出于兴趣,pagetitle=(“某个字符串”)
的行为如何?@Yule它与pagetitle=“某个字符串”
相同,如果这就是你要问的Ep,仅此而已。谢谢。@Yule没问题:)