Michael Hartl Rails教程第3章RSpec语法错误

时间:2014-07-26 17:25:30

标签: ruby-on-rails ruby-on-rails-3 rspec railstutorial.org

我正试图通过Hartl的Rails教程。在完成第3.2.1章时,我在尝试

时遇到了以下两个错误
bundle exec rspec spec/requests/static_pages_spec.rb

两者都是语法错误:

I:/Programs/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/rspec-core-3.0.3/lib/rspec/core/configuration.rb:1057:在`load&#中39;:C:/Users/Anastasia/RubymineProjects/sample_app/spec/requests/static_pages_spec.rb:3:语法错误,意外的keyword_do_block(SyntaxError)

C:/Users/Anastasia/RubymineProjects/sample_app/spec/requests/static_pages_spec.rb:12:语法错误,意外的keyword_end,期待$ end

我已经进入了这两个文件中的每一个,我没有看到实际的语法错误:

static_pages_spec.rb包含以下代码:

require 'spec_helper'

RSpec.describe "StaticPages", do

  describe "Home page" do

    it "should have the content 'Sample App'" do
      visit '/static_pages/home'
      expect(page).to have_content('Sample App')
    end
  end
end

所有"做""似乎有一个匹配的"结束。"

spec_helper.rb包含以下代码:

RSpec.configure do |config|

  config.include Capybara: :DSL

end

再一次,"做"和"结束"似乎匹配。

注意:我非常新编码。我以前的经验是与html / css相关的。我正在浏览本教程时正在进行Ruby Mine的免费试用,但我不知道是否可能仅仅使用像SublimeText这样的文本编辑器重新开始,因为使用它可能会更好RM意味着我不仅要学习Ruby和Rails,还要学习RM。有一些我真正喜欢RM的东西(我是天生的视觉人物,因此拥有更具视觉吸引力的东西是好的,但我也喜欢宝石安装界面,这使得它不仅易于安装宝石,还要阅读他们的文档)。使用RM的另一个缺点是教程与RM捆绑的版本之间的版本差异(Ruby 1.9.3与2.0.0等)导致我选择放弃gemfiles中的版本列表以避免产生奇怪的冲突(我认为这将是一个问题我可能是错的,但在我看来它具有逻辑意义)。

Capybara gem已安装并位于gemfile中,因此我不会认为这个问题(可能是错误的)。我确定我只是错过了一些非常简单的东西,但我不能为我的生活看到它是什么。

任何建议或协助都将不胜感激!

2 个答案:

答案 0 :(得分:1)

您的代码中有拼写错误

 RSpec.describe "StaticPages", do

这一行不应该有逗号

RSpec.describe "StaticPages" do

答案 1 :(得分:0)

如果两端匹配则几乎肯定是逗号。 "编程就像写一本书,除非你在第126页有一个额外的逗号,整个事情都没有意义。"