Ruby on rails 变量不回显';在RoR中正确输出
我将遵循以下步骤(第4000次)开始使用RubyonRails。我正在快速阅读前几章,因为我已经阅读并输入了很多次,但是我遇到了一个我似乎无法解决的小问题 在其中一章中,建议我们创建一个助手函数,使页面标题的显示更加动态 辅助对象如下所示:Ruby on rails 变量不回显';在RoR中正确输出,ruby-on-rails,ruby-on-rails-3,helper,Ruby On Rails,Ruby On Rails 3,Helper,我将遵循以下步骤(第4000次)开始使用RubyonRails。我正在快速阅读前几章,因为我已经阅读并输入了很多次,但是我遇到了一个我似乎无法解决的小问题 在其中一章中,建议我们创建一个助手函数,使页面标题的显示更加动态 辅助对象如下所示: module ApplicationHelper #return title on per page basis def title base_title = "Ruby on Rails Tutorial Sample Ap
module ApplicationHelper
#return title on per page basis
def title
base_title = "Ruby on Rails Tutorial Sample App"
if @title.nil?
base_title
else
"#{base_title} | #{@title}"
end
end
end
class PagesController < ApplicationController
def home
@title = "Home"
end
# more pages
end
我的控制器如下所示:
module ApplicationHelper
#return title on per page basis
def title
base_title = "Ruby on Rails Tutorial Sample App"
if @title.nil?
base_title
else
"#{base_title} | #{@title}"
end
end
end
class PagesController < ApplicationController
def home
@title = "Home"
end
# more pages
end
class PagesController
最后,我的应用程序布局文件包含以下行:
<title><%= @title %></title>
书中说它现在应该“echo”(这是PHP行话吗?Tee-hee)以下标题:
rubyonrails教程示例应用程序| Home
,用于主页。然而,它只是呼应“主页”作为页面标题
我是不是忽略了什么?我认为我没有输入任何错误或任何东西;在我看来,每件事都相当合乎逻辑,但它不起作用
非常感谢 我想你把这本书抄错了。(幸好您遇到的问题出现在免费示例章节中。:) 这本书的实际内容是:
你所拥有的是:
使用
@
,可以直接查找变量。如果没有@
,它将调用方法title()
。(我希望他们把()
放在函数调用之后,但那是惯用的Ruby。我只是不喜欢Ruby惯用语。)我想你是从书中抄袭过来的。(幸好您遇到的问题出现在免费示例章节中。:)
这本书的实际内容是:
你所拥有的是:
使用
@
,可以直接查找变量。如果没有@
,它将调用方法title()
。(我希望他们把()
放在函数调用之后,但那是惯用的Ruby。我只是不喜欢Ruby惯用用法。)在视图中调用@title是指变量,而不是方法。由于变量@title等于“Home”,这就是您得到的结果。要调用该方法,应尝试以下操作:
<title><%= title %></title>
在视图中调用@title是指变量,而不是方法。由于变量@title等于“Home”,这就是您得到的结果。要调用该方法,应尝试以下操作:
<title><%= title %></title>
Ohh,duh。我真傻,我没看到他们删除了书中的@。谢谢哦,嗯。我真傻,我没看到他们删除了书中的@。谢谢嗯。我真傻,我真的很想念去那里的那个小女孩。哦,好吧,每个人都有免费代表,哈哈。非常感谢你帮了我的忙!感谢您解释没有@is方法调用的标题;我一个人永远不会得到的。我真傻,我真的很想念去那里的那个小女孩。哦,好吧,每个人都有免费代表,哈哈。非常感谢你帮了我的忙!感谢您解释没有@is方法调用的标题;我自己永远也不会得到这个。