Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何运行Ruby on Rails应用程序?_Ruby On Rails_Ruby - Fatal编程技术网

Ruby on rails 如何运行Ruby on Rails应用程序?

Ruby on rails 如何运行Ruby on Rails应用程序?,ruby-on-rails,ruby,Ruby On Rails,Ruby,忘记任何形式的服务器配置(例如站点启用/Apache/nginx)。假设我的所有文件都可以在web服务器中公开访问 我有以下可用文件夹: /app/assets /app/controllers /app/helpers /app/mailers /app/models /app/observers /app/uploaders /app/views /public/ 我没有比这个更多的文件夹了 如果我转到domain.com/public/htmlpage.html,那么我可

忘记任何形式的服务器配置(例如站点启用/Apache/nginx)。假设我的所有文件都可以在web服务器中公开访问

我有以下可用文件夹:

/app/assets

/app/controllers

/app/helpers

/app/mailers

/app/models

/app/observers

/app/uploaders

/app/views

/public/
我没有比这个更多的文件夹了

如果我转到domain.com/public/htmlpage.html,那么我可以看到html呈现良好。如果我转到domain.com/public/则会收到一条“索引文件不存在”消息


如何运行Rails应用程序?我应该在web浏览器中运行什么文件?

您只需访问domain.com,无需公开

编辑:


确定要在本地启动它,您可以在ssh中运行rails s.

cd到您的项目根目录,即应用程序目录上方的目录,然后运行命令

bundle install
后来

rails s
此命令将在端口3000上运行webrick服务器,因为您在本地主机上运行应用程序,所以可以使用此URL在浏览器中检查应用程序

http://localhost:3000/
您可以附加公共目录中要作为运行的任何文件的名称

http://localhost:3000/htmlpage.html

Rails应用程序是动态的-它们使用db后端&大量


您应该阅读(您将从阅读
4.2
以后的内容中获益):

4.2说“你好”

Rails要让Rails说“你好”,您至少需要创建一个控制器和一个视图

控制器的目的是接收特定的请求 应用路由决定哪个控制器接收哪些请求。 通常,到每个控制器的路由不止一条,而且不同 路由可以由不同的操作提供服务。每一个行动的目的都是为了 收集信息以将其提供给视图

视图的目的是以可读的方式显示此信息 格式。一个重要的区别是它是控制器, 而不是收集信息的视图。这个观点应该是正确的 显示该信息。默认情况下,视图样板是以 名为ERB(嵌入式Ruby)的语言,由请求转换 在发送给用户之前在Rails中循环


你需要这个:

#config/routes.rb
root to: "application#index"

#app/controller/application_controller.rb
Class ApplicationController < ActionController::Base
  def index
  end
end

#app/views/application/index.html.erb
Hello World
#config/routes.rb
根目录为:“应用程序#索引”
#app/controller/application_controller.rb
类ApplicationController

然后转到
http://localhost:3000/
使用
rails s

启动web服务器后,没有任何与我的Ruby应用程序相关的内容。我的文件结构如上图所示。你是说domain.com/app/views/something吗?不,我是说去domain.com。然后,Rails将为您的应用程序路由到的任何不起作用的地方提供服务。我想避免服务器配置,因为我有更多的问题。哪个文件运行应用程序?如果您没有服务器配置,那么显然它不会运行。此文档应包含您需要的任何信息。您不能忘记服务器配置。Rails必须在服务器上启动,而不是从浏览器启动。我只是想在浏览器中本地测试一些东西。你不能那样做吗?是的。运行“rails s”并在浏览器中转到localhost:3000。在你的问题中,你描述的是一种行为。试着告诉我们你想做什么,你累了什么。我们是来帮助你的。不要因为落选而气馁。查看您的问题并对其进行编辑。您是否使用
rails新应用程序名
命令创建了rails应用程序?因为该命令应该为您提供的文件夹多于您列出的文件夹。要运行
rails s
,您需要应用程序文件夹中的
config.ru
文件以及包含所有应用程序特定配置的
config
文件夹。谢谢。这很容易理解,但我已经这么做了,在我使用“rails s”之后,出现了“协议错误-/usr/lib/ruby/vendor\u ruby/rails或s/vendor/rails”错误。@user2143356您使用的是RVMYes吗。我用Vagrant/VirtualBox和nginx设置了一个Ubuntu12.04服务器。我使用RVM安装Ruby 1.9。2@user2143356首先运行
bundle install
命令,然后在它完成执行后运行
rails s
谢谢,但我得到的是完全相同的“协议错误-/usr/lib/ruby/vendor\u ruby/rails或s/vendor/rails”错误