Ruby on rails 如何运行Ruby on Rails应用程序?
忘记任何形式的服务器配置(例如站点启用/Apache/nginx)。假设我的所有文件都可以在web服务器中公开访问 我有以下可用文件夹: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,那么我可
/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”错误