参考网址:https://ruby-china.github.io/rails-guides/v4.1/getting_started.html
一、环境安装及项目创建
使用ruby 2.6.0,rails 6.0.1为例
1 安装Ruby和Rails
1.1 安装rvm
参考如下网址:安装rvm
sudo apt install gnupg2
gpg2 --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E37D2BAF1CF37B13E2069D6956105BD0E739499BDB
sudo apt install curl
curl -sSL https://get.rvm.io | bash -s stable
> 如果上面这条命令报错,执行下面这条命令
> curl -L https://raw.githubusercontent.com/wayneeseguin/rvm/master/binscripts/rvm-installer | bash -s stable
source ~/.rvm/scripts/rvm
echo "ruby_url=https://cache.ruby-china.com/pub/ruby" > ~/.rvm/user/db
检测ruby安装情况:rvm -v
1.2 用rvm安装Ruby环境
rvm requirements
rvm install 2.6.0
gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/
gem install rails -v 6.0.1
1.3 安装node和yarn
- 下载node安装包
curl -fsSL https://deb.nodesource.com/setup_14.x | sudo -E bash -
- 执行安装命令
sudo apt-get install -y nodejs
- 下载安装yarn
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt update
sudo apt install yarn
- 查看yarn版本
yarn --version
2. 创建blog项目
- 终端执行创建命令
rails new blog
- 打开该blog文件夹下的
gemfile
,将source
从http://rubygems.org
替换成http://gems.ruby-china.com
- 在blog终端执行
bundle install
- 执行
rails s
- 浏览器打开
localhost:3000
二、Hello, Rails!
2.1 显示“Hello, Rails!”
要在 Rails 中显示“Hello, Rails!”,需要新建一个控制器和视图。
控制器用来接受向程序发起的请求。路由决定哪个控制器会接受到这个请求。一般情况下,每个控制器都有多个路由,对应不同的动作。动作用来提供视图中需要的数据。
视图的作用是,以人类能看懂的格式显示数据。有一点要特别注意,数据是在控制器中获取的,而不是在视图中。视图只是把数据显示出来。默认情况下,视图使用 eRuby(嵌入式 Ruby)语言编写,经由 Rails 解析后,再发送给用户。
控制器可用控制器生成器创建,你要告诉生成器,我想要个名为“welcome”的控制器和一个名为“index”的动作,如下所示:
rails generate controller welcome index
运行上述命令后,Rails 会生成很多文件,以及一个路由。
在这些文件中,最重要的当然是控制器,位于 app/controllers/welcome_controller.rb,以及视图,位于 app/views/welcome/index.html.erb。
使用文本编辑器打开 app/views/welcome/index.html.erb 文件,删除全部内容,写入下面这行代码:
<h1>Hello, Rails!</h1>
2.2 设置程序的首页
- 修改
config/routes.rb
文件:
Rails.application.routes.draw do
root 'welcome#index'
#get 'welcome/index'
# For details on the DSL available within this file, see https://guides.rubyonrails.org/routing.html
end
- 刷新浏览器
2.3 使用haml替代erb
参考网址:https://www.codenong.com/2242699/
- 修改Gemfile文件,添加
gem"haml-rails"
- 执行
bundle install
- 执行
rake haml:erb2haml
2.4 使用mysql代替sqlite3
- 安装 MySQL Adapter
参考网址:https://www.bbsmax.com/A/kvJ3Rm3Ozg/
gem install mysql2
- 修改Gemfile文件,注释掉
gem 'sqlite3', '~> 1.4'
,添加gem 'mysql2', '0.4.10'
- 修改
config/database.yml
- 新建blog_db数据库
- 执行
bundle install