Windows下配置Ruby on Rails

简介

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安装程序

install

选择安装组件

install

选中点击Finish,结束安装

install

安装MSYS2 and MINGW development toolchain,选择3

install

查看是否安装成功

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.打开网址

http://localhost:3000

可以看到"Yay! You’re on Rails!"就表示应用已经正确配置,能够正常工作了。

5.创建控制器和视图

1
rails generate controller Welcome index

上述命令生成了多个文件和一个路由:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
create  app/controllers/welcome_controller.rb
route get 'welcome/index'
invoke erb
create app/views/welcome
create app/views/welcome/index.html.erb
invoke test_unit
create test/controllers/welcome_controller_test.rb
invoke helper
create app/helpers/welcome_helper.rb
invoke test_unit
invoke assets
invoke coffee
create app/assets/javascripts/welcome.coffee
invoke scss
create app/assets/stylesheets/welcome.scss

控制器位于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
2
3
4
Rails.application.routes.draw do
get 'welcome/index'
# For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html
end

添加一行代码root 'welcome#index'

1
2
3
4
5
Rails.application.routes.draw do
get 'welcome/index'

root 'welcome#index'
end

重新启动

1
rails server

打开首页,http://localhost:3000

遇到的问题

cannot load such file – sqlite3/sqlite3_native

1
2
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:
in `require': cannot load such file -- sqlite3/sqlite3_native (LoadError)

1.install sqlite3

1
2
ridk exec pacman -S mingw-w64-x86_64-sqlite3
gem install sqlite3 --platform ruby

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
2
3
ruby setup.rb config
ruby setup.rb setup
ruby setup.rb install

5.再重新执行rails server

1
ralis server

相关主题