我正试图通过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中,因此我不会认为这个问题(可能是错误的)。我确定我只是错过了一些非常简单的东西,但我不能为我的生活看到它是什么。
任何建议或协助都将不胜感激!
答案 0 :(得分:1)
您的代码中有拼写错误
RSpec.describe "StaticPages", do
这一行不应该有逗号
RSpec.describe "StaticPages" do
答案 1 :(得分:0)
如果两端匹配则几乎肯定是逗号。 "编程就像写一本书,除非你在第126页有一个额外的逗号,整个事情都没有意义。"