title | date | updated | categories | tags | ||||
---|---|---|---|---|---|---|---|---|
[Rails] 安裝並啟動 Rails 專案 |
2019-05-09 03:10:10 -0700 |
2019-05-09 03:10:10 -0700 |
|
|
@(Ruby on Rails)[Rails, rvm, gem]
# 安裝 Ruby
$ rvm get stable # 更新 rvm 至最新版本
$ rvm list known # 取的目前最新版可用的 Ruby 版本
$ rvm install 2.6.3 # 安裝當前最新版的 Ruby
$ rvm use 2.6.3 --default # 使用最新版的 Ruby 並設為預設值
$ ruby -v # 確定使用的 Ruby 版本
# 如果有要使用 gemset 的話,否則可以跳過
$ rvm getset create rails600
$ rvm use 2.6.3@rails600 # 選擇使用 Ruby 2.6.3 搭配 gemsets “rails600”
# 安裝 Rails 和 PostgreSQL 的 GEM
$ gem install rails --no-document # 若想要安裝到最新的開發版可以加上 --pre
$ gem install pg --no-document
$ gem install rails --pre # 安裝最新版(包含開發中版本)的 Rails
# 建立專案
$ rails new [projectName] --webpack=react --database=postgresql --skip-coffee --skip-test
# Scaffold
$ rails generate scaffold Product title:string description:text image_url:string price:decimal
可以寫一個 rake 來自動化執行:
# lib/tasks/dev.rake
namespace :dev do
desc 'Rebuild system'
task build: ['tmp:clear', 'log:clear', 'db:drop', 'db:create', 'db:migrate']
task rebuild: ['dev:build', 'db:seed']
end
這樣只要打
rails dev:build
:即可把專案資料一切清空歸零重建rails dev:rebuild
:即可重建完再跑 seed
$ rails g migration enable_hstore_extension
# migration 檔案中放入以下內容
enable_extension 'hstore'
$ rails g migration enable_uuid_extension
# migration 檔案中放入以下內容
enable_extension 'uuid-ossp'
enable_extension 'pgcrypto'