Ruby On Rails“Hello World”页面不起作用

时间:2013-03-18 23:18:03

标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-3.1 ruby-on-rails-3.2

我是ruby on rails的新手,我遇到了问题。当我为服务器“rails server加注并转到页面时 www.localhost:3000 在我的浏览器中,一切都可以正常使用ROR默认页面,但....在制作控制器rails generate controller demo index之后 并转到页面 www.localhost:3000/demo/indexlocalhost:3000/demo - 同样的 - 什么都没有,好像页面不存在,只有空白页面。我试图更改index.html.erb代码 <h1>Hello World</h1> - 没有变化。我想练习ROR,但不能因为那个bug。

工作环境:Windows 7 64位

数据库:MySQL

8 个答案:

答案 0 :(得分:1)

您需要拥有与您的操作相对应的视图。

如果你的控制器被调用Demo,你的行动是index,那么它应该是

# app/controllers/demo_controller.rb
class DemoController < ApplicationController

  def index
  end

end

,视图文件应位于app/views/demo/index.html.erb

答案 1 :(得分:0)

index操作是控制器的基本操作。试试吧:

http://localhost:3000/demo

访问索引。

默认情况下,路由/demo/indexshow操作,其ID为index

答案 2 :(得分:0)

确保

views / layout / application.html.erb yield index.html.erb 有一些文字

答案 3 :(得分:0)

检查你的routes.rb

root :to => 'demo#index'

转到http://localhost:3000/

答案 4 :(得分:0)

从您的config / routes.rb文件中

取消注释这一行

  match ':controller(/:action(/:id))(.:format)'

public/index.html

删除 index.html文件

答案 5 :(得分:0)

首先从公共文件夹中删除或重命名index.html文件。

然后在路径文件中设置root :to => 'demo#index'

然后使用此命令重新启动服务器。默认情况下,rails s您的服务器将在端口3000上运行。

现在只需输入http://localhost:3000/http://localhost:3000/demo/index

即可

答案 6 :(得分:0)

你有没有删除

app_root
--public
----index.html

了吗?

Rails首先会查看公共文件夹中的匹配文件,然后才能从您的视图中构建一个文件。

答案 7 :(得分:0)

如João所示,您还需要一个视图。此外,删除public/index.html并最终为您的控制器添加路由。

如果你已经创建了一个脚手架Rails start guide,你就已经有了这条路线。