简介
Rails 是使用 Ruby 语言编写的 Web 应用开发框架,目的是通过解决快速开发中的共通问题,简化 Web 应用的开发。与其他编程语言和框架相比,使用 Rails 只需编写更少代码就能实现更多功能。有经验的 Rails 程序员常说,Rails 让 Web 应用开发变得更有趣。
前提条件
- Ruby 2.2.2 及以上版本
- 开发工具包的正确版本(针对 Windows 用户)
- 包管理工具 RubyGems,随 Ruby 预装。
- SQLite3 数据库
下载地址
https://rubyinstaller.org/downloads/
安装Ruby(WITH DEVKIT)
运行rubyinstaller-devkit-2.5.1-1-x64.exe安装程序
选择安装组件
选中点击Finish,结束安装
安装MSYS2 and MINGW development toolchain,选择3
查看是否安装成功
1 | ruby -v |
ruby 2.5.1p57 (2018-03-29 revision 63029)[x64-mingw32]
1 | gem -v |
2.7.6
安装Rails
安装
1.install rails
1 | gem install rails |
2.查看是否安装成功
1 | rails -v |
Rails 5.2.0
使用
1.创建应用
1 | rails new myapp |
2.切换到myapp目录
1 | cd myapp |
新应用生成器默认选项生成的文件和文件夹的功能:
文件/文件夹 | 作用 |
---|---|
app/ | 包含应用的控制器、模型、视图、辅助方法、邮件程序、频道、作业和静态资源文件。 |
bin/ | 包含用于启动应用的 rails 脚本,以及用于安装、更新、部署或运行应用的其他脚本。 |
config/ | 配置应用的路由、数据库等。 |
config.ru | 基于 Rack 的服务器所需的 Rack 配置,用于启动应用。 |
db/ | 包含当前数据库的模式,以及数据库迁移文件。 |
Gemfile, Gemfile.lock | 这两个文件用于指定 Rails 应用所需的 gem 依赖。Bundler gem 需要用到这两个文件。 |
lib/ | 应用的扩展模块。 |
log/ | 应用日志文件。 |
public/ | 仅有的可以直接从外部访问的文件夹,包含静态文件和编译后的静态资源文件。 |
Rakefile | 定位并加载可在命令行中执行的任务。这些任务在 Rails 的各个组件中定义。如果要添加自定义任务,请不要修改 Rakefile,直接把自定义任务保存在 lib/tasks 文件夹中即可。 |
README.md | 应用的自述文件,说明应用的用途、安装方法等。 |
test/ | 单元测试、固件和其他测试装置。 |
tmp/ | 临时文件(如缓存和 PID 文件)。 |
vendor/ | 包含第三方代码,如第三方 gem。 |
.gitignore | 告诉 Git 要忽略的文件(或模式)。 |
3.开启服务
1 | rails server |
4.打开网址
可以看到"Yay! You’re on Rails!"
就表示应用已经正确配置,能够正常工作了。
5.创建控制器和视图
1 | rails generate controller Welcome index |
上述命令生成了多个文件和一个路由:
1 | create app/controllers/welcome_controller.rb |
控制器位于app/controllers/welcome_controller.rb
文件 ,视图位于app/views/welcome/index.html.erb
文件 。
打开app/views/welcome/index.html.erb
文件,删除所有代码,然后添加下面的代码:
1 | <h1>Hello, Rails!</h1> |
6.设置应用主页
在编辑器中打开config/routes.rb
文件。
1 | Rails.application.routes.draw do |
添加一行代码root 'welcome#index'
1 | Rails.application.routes.draw do |
重新启动
1 | rails server |
遇到的问题
cannot load such file – sqlite3/sqlite3_native
1 | D:/Ruby25-x64/lib/ruby/gems/2.5.0/gems/bootsnap-1.3.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32: |
1.install sqlite3
1 | ridk exec pacman -S mingw-w64-x86_64-sqlite3 |
2.进入到sqlite3目录
1 | cd D:\Ruby25-x64\lib\ruby\gems\2.5.0\gems\sqlite3-1.3.13 |
3.开启mingw编译环境
1 | ridk enable |
4.执行以下命令
1 | ruby setup.rb config |
5.再重新执行rails server
1 | ralis server |