繁体   English   中英

Ruby on Rails:Hello World

[英]Ruby on Rails: Hello World

长期Java开发,第一次使用Ruby开发。 尝试使用Rails应用程序达到“hello world”步骤,并且遇到困难。

我很肯定我在这里缺少一些基本的东西。 话虽这么说,StackOverflow的“有类似头衔的问题”和谷歌的“ruby rails hello world”命中(或其变体)都没有澄清我所缺少的内容。

我通过RVM安装了ruby(v1.9.3p194),gem(1.8.23)和rails(3.2.3)。 我使用以下方法生成控制器

rails generate controller common

在默认的“config / routes.rb”中,我有以下两个路由尝试:

Web::Application.routes.draw do
  root :to => "common#index"
  match ':controller(/:action(/:id))(.:format)'
end

当我最初在我的浏览器中运行“rails server”并加载“http:// localhost:3000 / common”时,我看到以下内容:

Unknown action
The action 'index' could not be found for CommonController

我知道这是因为没有为我的公共控制器定义“index”,所以我编辑了“app / controllers / common_controller.rb”来包含以下内容:

class CommonController < ApplicationController

  def index
  end

end

我现在在浏览器中的“http:// localhost:3000 / common”中看到以下内容:

Template is missing
Missing template common/index, application/index with {:locale=>[:en], :formats=>[:html], :handlers=>[:erb, :builder, :coffee]}. Searched in: * "/coding/workspace/[My] Toolbag/web/app/views"

我在根看到同样的事情,这是有道理的。

从我发现的,这显然是由于我的控制器没有任何渲染,所以我认为应该在“app / views / common / index.html.erb”检查一些东西 - 但是,我做有一个文件,包含以下内容:

<h1>Hello World</h1>

我也尝试将“index.html.erb”重命名为“_index.html.erb”,“index.html”和“index”,所有这些都基于控制台错误“ActionView :: Missing Template”的Googling变体,上面类似的浏览器输出。

许多Google搜索结果都包含建议片段,但没有明确指导哪些文件可以使用上述建议进行编辑,或者重复我已经采取过的步骤。

如果有人能告诉我我失踪的东西,我会很感激。

PS:我作为超级用户运行,其中所有文件的“root:root”所有权。 可能会以常规用户身份运行? 但是,如果是这样的话,似乎不会让我这么做。

真奇怪。 我只是重复你的步骤并使其工作(使用rails 3.2.3和ruby 1.9.3-p0),当访问localhost:3000 / common时,我得到了“Hello World”。

http://grab.by/dg6Y

这是我想快速尝试的,以确保它不是您的设置问题:

1)cd在rails项目目录中

2)发出这些终端命令

rails g scaffold用户名:string email:string

rake db:migrate

3)访问此URL http:// localhost:3000 / users

如果您的导轨设置正确,您应该看到这一点

http://grab.by/dg74

如果这些步骤不起作用,那么您的设置似乎会发生一些奇怪的事情。

此外,请务必从您的应用中删除public/index.html文件。 如果不删除它,您将无法看到在路径文件中指定的自定义根页面。

如果上面不起作用,可能是您的Ruby版本有问题?

希望这可以帮助!

哇。 我实际上只是偶然发现了实际的根问题:

我在一个文件夹中创建了我的项目,该文件夹中有一个括号 - 也就是说,我在“/ coding / workspace / [My] Toolbag”中运行“rails new web”。

今晚我碰巧在“/ coding / workspace”中再次尝试,它终于奏效了。 然后,我在以下位置测试了“rails new web”,以充实我的怀疑:

/coding/workspace/test1
/coding/workspace/test 2
/coding/workspace/test [3]
/coding/workspace/test [4
/coding/workspace/test ]5
/coding/workspace/test [6/subfolder

怀疑证实。 文件夹3,4,6中的Rails项目演示了我在这个问题中描述的问题,而文件夹1,2,5中的rails项目工作得很好。

具体来说,问题是路径中任何地方的开放式括号:“[”

我正在使用Linux Mint。 虽然我还没有尝试在其他发行版,Windows或Mac上进行重新编写,但问题可能更广泛地适用。

非常感谢Brett Sanders的所有反复帮助和确认,我的方法应该是正确的,我提交这个答案并将此标记为正确,以防其他人遇到同样的问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM