首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Railstutorial.org上没有匹配的路由

Railstutorial.org上没有匹配的路由
EN

Stack Overflow用户
提问于 2010-10-20 00:55:50
回答 3查看 678关注 0票数 0

我通过以下方式生成主页和联系人页面:

代码语言:javascript
复制
rails generate Pages home contact

做了测试来验证,一切正常,现在我想添加页面“关于”。我通过复制和粘贴contact.html.erb,然后将其重命名为about.html.erb来创建about.html.erb。然后,我将内容从"Pages#contact“改为"Pages#about”。

我将route.rb更改为:

代码语言:javascript
复制
SampleApp::Application.routes.draw do
  get "pages/home"

  get "pages/contact"

  get "pages/about"

然后pages_controller.rb到:

代码语言:javascript
复制
def home
  end

  def contact
  end

  def about
  end

最后将其添加到pages_controller_spec.rb中:

代码语言:javascript
复制
 describe "GET 'about'" do
    it "should be successful" do
      get 'about'
      response.should be_success
    end
  end

在我的自动测试中,这是一个错误:

代码语言:javascript
复制
Failures:
  1) PagesController GET 'about' should be successful
     Failure/Error: get 'about'
     No route matches {:controller=>"pages", :action=>"about"}
     # ./spec/controllers/pages_controller_spec.rb:22:in `block (3 levels) in <top (required)>'

我做错什么了?

我是否应该通过以下方式生成about页面:

代码语言:javascript
复制
rails generate Pages about

来生成about页面?而不是复制-粘贴?

EN

回答 3

Stack Overflow用户

发布于 2010-11-20 11:50:38

也有同样的问题。在我的例子中,问题是'spork‘需要重新启动

票数 5
EN

Stack Overflow用户

发布于 2011-08-06 04:56:17

这是因为spork不会重新加载您的路由。把这个放到你的spec_helper.rb中,强制spork重新加载路由"each_run“(来源:http://jinpu.wordpress.com/2011/03/13/reload-routes-with-spork-each-run/)

代码语言:javascript
复制
Spork.each_run do
  # This code will be run each time you run your specs.
  require File.expand_path("../../config/routes", __FILE__)
end
票数 2
EN

Stack Overflow用户

发布于 2011-03-20 13:25:09

Samesies:重新启动spork

直到我沮丧地退出,并在一个小时后回来再看一眼,它才起作用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3970733

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档