没有路由匹配application_controller规范的错误

时间:2009-10-23 05:51:49

标签: ruby-on-rails rspec

我有一个application_controller规范失败,因为我从routes.rb中删除了控制器/动作路由。我收到以下错误:

No route matches {:controller=>"application", :action=>"index"}

我有很多测试以同样的方式失败,但能够通过在get调用中包含正确的参数来修复它们。例如,如果我想在我的规范中获得帖子的标准节目路线,我不得不改变

get :show to get :show, :id => '1'

不幸的是,我现在不确定应用程序控制器规范要传递什么。我在下面列出了我的测试。

describe ApplicationController do

  it "should find the latest published posts and assign them for the view" do
    Post.should_receive(:latest).and_return(@posts)
    get :index
    assigns[:posts].should == @posts
  end


  it "should find the latest approved comments and assign them for the view" do
    Comment.should_receive(:latest).and_return(@comments)
    get :index
    assigns[:comments].should == @comments
  end

end

1 个答案:

答案 0 :(得分:0)

将ApplicationController视为不打算用于请求的抽象类。生成的所有新控制器都将继承自ApplicationController,因此它是放置共享行为的好地方。