Ruby on Rails 3教程 - Ch。 3;秒。 3 - “未定义的方法`描述'用于PagesController:Class”

时间:2012-06-11 22:06:48

标签: ruby-on-rails-3 rspec-rails

我正在关注代码以及页面具体说明的内容,我唯一缺少的是Ruby on Rails的rspec gem,因为我无法得到它(为rspec安装提供了这个错误:“ E:无法找到软件包rspec “因此,由于无法找到软件包,所以任何帮助都会非常赞赏”。

这是我的整个pages_controller_spec.rb文件,当rails服务器试图连接到页面时显示的错误显示在标题中(如果在这里无法再看到它再次出现:“未定义的方法`描述'for PagesController:Class “)。

注意:我也尝试过没有“require'spec_helper'”的代码,但仍然无法运行。

class PagesController < ApplicationController
  def home
  end

  def contact
  end

  def about
  end

  require 'spec_helper'

describe PagesController do
  render_views

  describe "GET 'home'" do
     it "should be successful" do
    get 'home'
    response.should be_success
     end

     it "should have the right title" do
    get 'home'
    response.should have_selector("title",
            :content => "Ruby on Rails Tutorial Sample App | Home")
    end
  end

  describe "GET 'contact'" do
     it "should be successful" do
    get 'contact'
    response.should be_success
     end

     it "should have the right title" do
    get 'contact'
    response.should have_selector("title",
            :content => "Ruby on Rails Tutorial Sample App | Contact")
    end
  end

  describe "GET 'about'" do
     it "should be successful" do
    get 'about'
    response.should be_success
     end

     it "should have the right title" do
    get 'about'
    response.should have_selector("title",
            :content => "Ruby on Rails Tutorial Sample App | About")
    end
  end
end
end

1 个答案:

答案 0 :(得分:0)

在规范帮助程序需要之前,您需要额外的end,只需要您在控制器类中,并且他试图在控制器上调用describe作为方法。添加它就可以了。

所以它应该是这样的:

class PagesController < ApplicationController
  def home
  end

  def contact
  end

  def about
  end
end

和其他文件。