在我的应用程序中,我有一个名为pagetitle=的方法,该方法设置页面标题,helper方法pagetitle根据提供(或不提供)的字符串创建页面标题。
pagetitle=ApplicationController超级类中定义,pagetitleApplicationHelper类中定义。
我的问题是,每当我调用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/

10-08 22:57