Skip to content

Instantly share code, notes, and snippets.

@pjchender
Created May 10, 2019 07:00
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save pjchender/c7238c5125829698e652f0c28e842e23 to your computer and use it in GitHub Desktop.
Save pjchender/c7238c5125829698e652f0c28e842e23 to your computer and use it in GitHub Desktop.
安裝並啟動 Rails 專案.md
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 on Rails)[Rails, rvm, gem]

[Rails] 安裝並啟動 Rails 專案

建立 Rails 新專案流程

# 安裝 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 helper

可以寫一個 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

使用 uuid 和 jsonb

使用 jsonb

$ rails g migration enable_hstore_extension

# migration 檔案中放入以下內容
enable_extension 'hstore'

使用 uuid

$ rails g migration enable_uuid_extension

# migration 檔案中放入以下內容
enable_extension 'uuid-ossp'
enable_extension 'pgcrypto'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment