【问题标题】:Ruby On Rails - Controller and view blank pageRuby On Rails - 控制器和查看空白页
【发布时间】:2015-10-22 18:36:33
【问题描述】:

我卡住了,无法继续我的 Ruby on Rails 教程。

我正在使用 mac 编写 Ruby on Rails 教程。

我在 Users/username/sites/simple_cms 中创建了一个新的 Ruby on Rails 项目

我正在使用Webrick 服务器

我使用rails s 命令启动了服务器,正如预期的那样,当导航到localhost:3000 时,会显示公共index 页面。

然后我在路由目录中使用以下命令添加了一个控制器和视图:

rails generate controller demo index

控制器和视图创建成功:

我的routes 文件:

SimpleCms::Application.routes.draw do
  get "demo/index"

我的demo_controller文件:

class DemoController < ApplicationController
  def index
  end
end

我的视图文件现在位于views/demo/index.html.erb:

<h1>Demo#index</h1>

<p>hello world</p>

然后我再次启动Webrick并输入:

http://localhost:3000/demo/index

但是会显示一个空白页面。

【问题讨论】:

  • 你能格式化你的代码吗?在 Mac 上,您在编辑器中选择代码并按 CMD + K。
  • 不用担心。我的第一篇文章。从今以后我知道了。谢谢指出
  • 尝试启动 Rails 服务器,在浏览器中输入 http://localhost:3000/demo/index,然后返回启动 rails 的终端窗口。它应该显示一个长日志提要。将其复制到问题中,这应该可以为我们提供一些关于出了什么问题的更好线索。

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


【解决方案1】:

root to 'demo#index' 添加到路由文件http://guides.rubyonrails.org/routing.html#using-root

【讨论】:

    【解决方案2】:

    尝试如下改变你的路线

    get "index" => "demo#index"
    

    然后您可以使用localhost:3000/index访问该站点

    但如果这是你的根路径,你也可以这样做

    root "demo#index"
    

    使用localhost:3000访问网站

    在这种情况下,demo 指的是您的控制器和您在控制器中的操作的索引。

    【讨论】:

    • 这是错误的。 get "demo/index" 创建以下路线 demo_index GET /demo/index(.:format) demo#index 它可能是特殊的,但它不是这里出现的任何问题的原因。路由错误很可能会导致显示错误页面。不是空的回复。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-20
    • 1970-01-01
    相关资源
    最近更新 更多