未定义的局部变量或方法“根路径';(Rspec Spork防护罩)

未定义的局部变量或方法“根路径';(Rspec Spork防护罩),rspec,ruby-on-rails-3.2,guard,spork,Rspec,Ruby On Rails 3.2,Guard,Spork,我有一个新手问题:-) 我正在“创建”一个应用程序,我使用m.Hartl的教程来实现。但是自从我决定改变路线后,我遇到了一些问题。 我知道这个问题已经贴出来了,但是答案对我来说不合适,所以我想我应该问一个新的 以下是代码: config/routes.rb root to:'静态页面#主页' 将“/help”匹配到:“静态页面#help” 将“/contact”匹配到:“静态页面#联系人” 将“/about”匹配到:“静态页面#about” 规范/请求/静态页面.rb require'spec

我有一个新手问题:-)

我正在“创建”一个应用程序,我使用m.Hartl的教程来实现。但是自从我决定改变路线后,我遇到了一些问题。 我知道这个问题已经贴出来了,但是答案对我来说不合适,所以我想我应该问一个新的

以下是代码:

config/routes.rb
root to:'静态页面#主页'
将“/help”匹配到:“静态页面#help”
将“/contact”匹配到:“静态页面#联系人”
将“/about”匹配到:“静态页面#about”
规范/请求/静态页面.rb
require'spec\u helper'
描述“静态页面”是什么
let(:base_title){“Vidons”}
描述“主页”是什么
访问根路径
它“应该有h1‘摄像机’吗?”
page.应具有_选择器('h1',:text=>'Vidons')
结束
它“应该有基本标题”吗
page.应该有_选择器('title',:text=>“#{base_title}”)
结束
结束
描述“帮助页面”是什么
访问帮助路径
它“应该有h1‘助手’”做什么
page.应具有_选择器('h1',:text=>'Aide')
结束
它“应该有‘助手’的头衔”吗
page.应该有_选择器('title',:text=>“#{base_title}| Aide”)
结束
结束
描述“关于页面”怎么办
参观!
它“应该有h1‘A提案’”do
page.应具有_选择器('h1',:text=>'A propo')
结束
它“应该有‘一个提议’的标题”吗
page.应该有_选择器('title',:text=>“#{base_title}| A propo”)
结束
结束
请描述“联系人页面”的内容
访问联系方式
它“应该有h1‘触点’”do
page.应具有_选择器('h1',:text=>'Contact')
结束
它“应该有‘联系人’的标题”吗
page.应具有_选择器('title',:text=>“#{base_title}| Contact”)
结束
结束
结束
spec/spec_helper.rb (我删除了Rspec.configure块中的一个,保留了spork prerun块中的一个)

需要“rubygems”
需要“spork”
#取消注释以下行以将spork与调试器一起使用
#需要'spork/ext/ruby debug'
做什么
#在此块中加载更多将使测试运行得更快。然而,
#如果更改此处加载的库中的任何配置或代码,您将
#需要重新启动spork以使其生效。
环境[“RAILS_ENV”]| |=“测试”
需要文件。展开\u路径(“../../config/environment”,\u文件\u)
需要“rspec/rails”
需要“rspec/自动运行”
#需要支持带有自定义匹配器和宏等的ruby文件,
#在spec/support/及其子目录中。
Dir[Rails.root.join(“spec/support/***.rb”)]。每个{f |都需要f}
RSpec.configure do | config|
#==模拟框架
#
#如果您喜欢使用mocha、flexmock或RR,请取消注释相应行:
#
#config.mock_with:mocha
#config.mock_with:flexmock
#config.mock_with:rr
config.mock_with:rspec
#如果不使用ActiveRecord或ActiveRecord设备,请删除此行
config.fixture_path=“#{::Rails.root}/spec/fixtures”
#如果您不使用ActiveRecord,或者您不希望运行每个
#在事务中的示例中,删除以下行或赋值为false
#而不是真的。
config.use\u transactional\u fixtures=true
#如果为true,将推断匿名控制器的基类
#自动地。这将是的未来版本中的默认行为
#rspec导轨。
config.expert\u base\u class\u for\u anonymous\u controllers=false
结束
结束
你每次跑步都做什么
#此代码将在每次运行规范时运行。
结束
以下是rspec guard的回应:

10:07:46-信息-弃用警告:版本选项已弃用。现在只支持RSpec 2

10:07:46-INFO-Guard使用Libnotify发送通知

10:07:46-信息-Guard使用TerminalTile发送通知

10:07:46-信息-RSpec启动Spork

使用RSpec

预加载Rails环境

正在加载Spork.prefork块

Rack::File headers参数取代Rack 1.5之后的cache_控件

斯波克准备好了,正在收听8989

10:07:53-信息-RSpec的Spork服务器已成功启动

10:07:53-信息-防护::RSpec正在运行

10:07:53-信息-运行所有规格

使用args[“--drb”、“-f”、“progress”、“-r”、“/home/flokate/.rvm/gems/ruby-1.9.3-p286/gems/guard-rspec-2.4.0/lib/guard/rspec/formatter.rb”、“-f”、“guard::rspec::formatter”、“--失败退出代码”、“2”、“spec”]

遇到异常:#>

回溯:

/home/flokate/Rubyrails/vidons/spec/requests/static\u pages\u spec.rb:8:in“block(2层)in”

/home/flokate/.rvm/gems/ruby-1.9.3-p286/gems/rspec-core-2.12.2/lib/rspec/core/example_group.rb:244:in'module_eval'

/home/flokate/.rvm/gems/ruby-1.9.3-p286/gems/rspec-core-2.12.2/lib/rspec/core/example_group.rb:244:“子类”中

/home/flokate/.rvm/gems/ruby-1.9.3-p286/gems/rspec-core-2.12.2/lib/rspec/core/example_group.rb:230:在“描述”中

/home/flokate/Rubyrails/vidons/spec/requests/static\u pages\u spec.rb:7:in'block in'

/home/flokate/.rvm/gems/ruby-1.9.3-p286/gems/rspec-core-2.12.2/lib/rspec/core/example_group.rb:244:in'module_eval'

/home/flokate/.rvm/gems/ruby-1.9.3-p286/gems/rspec-core-2.12.2/lib/rspec/core/example_group.rb:244:“子类”中

/home/flokate/.rvm/gems/ruby-1.9.3-p286/gems/rspec-core-2.12.2/lib/rspec/core/example_group.rb:230:在“描述”中

/home/flokate/.rvm/gems/ruby-1.9.3-p286/gems/rspec-core-2.12.2/lib/rspec/core/dsl.rb:18:在“描述”中

/home/flokate/Rubyrails/vidons/spec/requests/static\u pages\u spec.rb:3:in`'

/home/flokate/.rvm/gems/ruby-1.9.3-p286/gems/activesupport-3.2.12/lib/active\u support/dependencies.rb:245:in'load'