没有路线匹配[GET]“/”......有时候

时间:2012-09-24 21:16:16

标签: ruby ruby-on-rails-3.2

所以我有点像Rails n00b,所以如果这很简单,我会道歉。当我从另一台计算机访问我的服务器时,收到此消息:

  

没有路线匹配[GET]“/”

如果我试着去看我的子页面(嗯,目前我只有一个),我会得到以下几点:

  

未知行动

     

无法找到AwebpageController

的操作'index'

但是这里有一个问题:这有时只会发生。其余的时间,标准的RoR主页加载,并转到wwww.mydomain.com/awebpage提供页面罚款。

My Routes.rb看起来像这样:

Wobsite::Application.routes.draw do
  resources :awebpage
end

awebpage_controller.rb看起来像这样:

class AwebpageController < ApplicationController
end

是的,Awebpage的index.html.erb确实存在。这一切都很简单,我不明白出了什么问题。哦,我的网络服务器很薄(不确定是否重要)。在此先感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

您可能希望将其添加到路径文件的顶部,以设置您网站的默认控制器和页面(例如http://www.mysite.com/):

root :to => "AwebpageController#index"

要删除默认的Ruby on Rails网页,您还需要删除index.html目录中的/public/文件。

此外,虽然不是必需的,但在您的控制器中,您缺少索引的函数定义。

class AwebpageController < ApplicationController
  def index
  end
end

通常你会做应用程序逻辑并在这个函数中提供一个视图;但是如果你什么都不做,RoR会自动加载与页面关联的视图(index.html.erb)。

如果在这之后您仍然遇到问题,可能会明确地将index添加到路径文件中的AwebpageController;也许rails只将www.mysite.com/Awebpage/映射到Awebpage/index而不是www.mysite.com/Awebpage/index