Ruby on Rails 是一个可以使你开发、部署、维护 web 应用程序变得简单的框架。(净瞎扯,web框架我也接触不少了,稳重点的java中的ssh,ssm,奔放的像python的django,flask==以及钟爱的nodejs,正如我以前在v2ex上看到牛人的一句话,这世界上从来没有什么变简单的,困难从来不会凭空消失,它只会从一方面转移到另一方面,比如,你说Rails开发Web简单,然而掌握Rails本身却不是一件容易的事,so~)
环境搭建
首先,Linux下搭建ror环境很简单,按步骤来就ok,Windows下还是找一键安装包吧。。一个一个的安报的错千奇百怪。
创建Rails项目
找一个(空)文件夹,cd进入到该目录,控制台执行:
1 | rails new railsWebTest |
railsWebTest是项目名
创建好的后项目结构及作用:
| 文件/文件夹 | 作用 |
| -------- | -----: |
| app/ | 包含应用的控制器、模型、视图、辅助方法、邮件程序和静态资源文件。这个文件夹是本文剩余内容关注的重点。|
| bin/ | 包含用于启动应用的 rails 脚本,以及用于安装、更新、部署或运行应用的其他脚本。|
| config/ | 配置应用的路由、数据库等。详情请参阅configuring.xml。|
| config.ru | 基于 Rack 的服务器所需的 Rack 配置,用于启动应用。|
| db/ | 包含当前数据库的模式,以及数据库迁移文件。|
| Gemfile, Gemfile.lock | 这两个文件用于指定 Rails 应用所需的 gem 依赖。Bundler gem 需要用到这两个文件。|
| lib/ | 应用的扩展模块。|
| log/ | 应用日志文件。|
| public/ | 仅有的可以直接从外部访问的文件夹,包含静态文件和编译后的静态资源文件。|
| Rakefile | 定位并加载可在命令行中执行的任务。这些任务在 Rails 的各个组件中定义。如果要添加自定义任务,请不要修改 Rakefile,真接把自定义任务保存在 lib/tasks 文件夹中即可。|
| test/ | 单元测试、固件和其他测试装置。详情请参阅testing.xml。|
| tmp/ | 临时文件(如缓存和 PID 文件)。|
| vendor/ | 包含第三方代码,如第三方 gem。|
Hello, Rails!
启动 Web 服务器
到项目目录下执行:
1 | rails server |
即可启动服务器,按ctrl + C关闭;默认端口3000
访问http://localhost:3000即可看到欢迎页
显示“Hello, Rails!”
要让 Rails 显示“Hello, Rails!”,需要创建控制器和视图。
控制器接受向应用发起的特定访问请求。路由决定哪些访问请求被哪些控制器接收。一般情况下,一个控制器会对应多个路由,不同路由对应不同动作。动作搜集数据并把数据提供给视图。
视图以人类能看懂的格式显示数据。有一点要特别注意,数据是在控制器而不是视图中获取的,视图只是显示数据。默认情况下,视图模板使用 eRuby(嵌入式 Ruby)语言编写,经由 Rails 解析后,再发送给用户。
可以用控制器生成器来创建控制器。下面的命令告诉控制器生成器创建一个包含“index”动作的“Welcome”控制器:
1 | generate controller Welcome index |
上述命令让 Rails 生成了多个文件和一个路由:
1 |
|
其中最重要的文件是控制器和视图,控制器位于 app/controllers/welcome_controller.rb 文件 ,视图位于 app/views/welcome/index.html.erb 文件 。
在文本编辑器中打开 app/views/welcome/index.html.erb 文件,删除所有代码,然后添加下面的代码:
1 | Hello, Rails! |
然后就可以通过http://localhost:3000/welcome/index访问了,页面会显示Hello, Rails!