所以我有点像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确实存在。这一切都很简单,我不明白出了什么问题。哦,我的网络服务器很薄(不确定是否重要)。在此先感谢您的帮助!
答案 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
。