在我的应用程序中,我有一个名为pagetitle=
的方法,该方法设置页面标题,helper方法pagetitle
根据提供(或不提供)的字符串创建页面标题。pagetitle=
在ApplicationController
超级类中定义,pagetitle
在ApplicationHelper
类中定义。
我的问题是,每当我调用pagetitle = "Some string"
这个方法时,rails都倾向于创建局部变量pagetitle
,而不是调用这个方法。
如果我调用self.pagetitle = "Some string"
则调用该方法。
这是故意的行为吗我错过了什么?
TL;DR:Whypagetitle=
创建一个局部变量并调用我的方法
最佳答案
是的,这是故意的行为。
您可以使用self.
来编写实例变量,否则Ruby只会创建局部变量。
关于ruby-on-rails - Controller 设置局部变量而不是调用setter,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42512420/