Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Ruby on Rails Kickstart 101 & 102

Sponsored · SiteGround - Reliable hosting with speed, security, and support you can count on. →

Ruby on Rails Kickstart 101 & 102

Ruby on Rails Kickstart 101 & 102.
Presentation file for NCCU Trend Tech Club.

Avatar for Heng-Yi Wu

Heng-Yi Wu

October 01, 2015

More Decks by Heng-Yi Wu

Other Decks in Programming

Transcript

  1. ౯襑ᥝՋ讕牫 1. 螞ਝ POSIX 秂伛ጱ֢禂羬翄 (ֺই Mac OS X ౲

    Linux) 2. HTML, CSS/SASS, 膏 JavaScript/CoffeeScript ጱፘ橕Ꭳ蘷
  2. 虏౯㮉樄তމ 1. 戢㲘Ӟ㮆 GitHub ጱ癱蒈 2. 犥 GitHub 癱蒈ጭ獈 Cloud9

    • ୌ捍ֵአ Google Chrome • 櫒簁౯፥ጱ፥ጱ盄懵玬 Google Chrome 牧֕ Cloud9 磧蜱 ጱๅ碝盅胼䄪ਠ碉咳䠁ۑ胼ጱ犲Ԓݝ磪 Google Chrome 3. ୌ缏Ӟ㮆 Private workspace 牧觊ࣳ螡 Custom
  3. ਞ蕕 suspenders (媲) # 傶ԧ Capybara WebKit ਞ蕕஠ᥝጱፘ狅௔ॺկ # 犋䁆ᤈ蝡Ӟྍࣁਞ蕕

    suspenders ጱ碻狡䨝ڊ㺔氂 $ sudo apt-get install qt5-default libqt5webkit5-dev # ਞ蕕ፓ獮 suspenders ᥝ穩ጱ磧犵 Ruby 粚๜ $ rvm install 2.2.3 # ޞ藗羬翄ֵአ㴄㴄ਞ蕕ጱ Ruby 粚๜ᘒ犋ฎ羬翄獉ୌጱ Ruby 粚๜ $ rvm use --default 2.2.3 # ਞ蕕 suspenders $ gem install suspenders
  4. 碝ी Ruby on Rails 䌕礯 1. ֵአ suspenders 碝ी䌕礯 2.

    犥 SQLite3 玲դ PostgreSQL • Cloud9 Ӥ犋অਞ蕕 PostgreSQL 3. 犥 .sample.env 傶萠๜ୌ缏絑ह虋碍戔ਧ䲆礯 .env
  5. ֵአ suspenders 碝ी䌕礯 $ suspenders demo --database sqlite3 • 疥

    demo 硬౮֦ጱ䌕礯ݷ圸 • 蝡㮆瞲犤䛑扗䨝०硻牧ࢩ傶螭䷱磪ਞ蕕ಅ磪஠ᥝጱፘ狅௔ॺկ
  6. 犥 SQLite3 玲դ PostgreSQL group :development do ... gem "sqlite3"

    ... end 1. ಑樄 Gemfile 2. 疥 sqlite3 碝ीک :development ᗭ奲愊ᶎ 3. cd ک䌕礯虻碘䄸 4. 䁆ᤈ bundle 瞲犤
  7. 絑ह虋碍牫 • ౯㮉磪碻狡䨝疩獈Ӟ犚ᒫӣො๐率牧ֺই AWS • ᘒ犢㮉蝢ଉ䨝൉׀Ӟ奲 application ID 膏 secret

    key 妔౯㮉Ԁ 蝫犢㮉ጱ๐率 (觊犲癱蒈/ੂ嘨ጱ禊盢) • ֕蝡奲䚣挨犋胼硯ࣁ纷ୗ嘨愊牧ࢩ傶蝡ฎӞկ覍ଉܧ檺ጱԪ • ಅ犥౯㮉಩蝡犚硵眤虻碘硯ࣁ絑ह虋碍愊牧膏纷ୗ嘨玟獤樄㬵
  8. 絑ह虋碍戔ਧ䲆萠๜ .sample.env (媲) • ASSET_HOST: 硯瑽粙牏 CSS 䲆礯牏 JavaScript 䲆礯ጱԆ秚֖

    ᗝ牐ইຎ翕ᒊ磪ֵአ CDN (Content Distribution Network) 磪 ݢ胼䨝ฎ膏䛑አ纷ୗ犋ݶጱԆ秚牐 • APPLICATION_HOST: 䛑አ纷ୗጱԆ秚֖࣎牐 • RAKE_ENV: Ruby on Rails አ㬵玟獤樄咳 development 牏介手 testing 膏ྋୗӤ娄 production ጱ絑ह虋碍牐妃䌘犋胼ࣁӤ 娄絑हӾֵአ樄咳秇ୗ牐
  9. 絑ह虋碍戔ਧ䲆萠๜ .sample.env (媲) • SECRET_KEY_BASE: Ruby on Rails አ㬵䒻ੂ嘨ےੂጱ烡૬牧䔶 篇ୌ捍蝚螂

    rake secret 瞲犤叨ኞ • EXECJS_RUNTIME: አ㬵䁆ᤈ JavaScript 脻๜ጱ䁆ᤈ୚砻牧ֺই SASS (翥捌౮ CSS) ౲ CoffeeScript (翥捌౮ JavaScript) ጱ翥 捌纷ୗ
  10. 犥 .sample.env 傶萠๜ୌ缏絑ह虋碍戔 ਧ䲆礯 .env # 蕦蕣萠๜䲆礯 $ cp .sample.env

    .env # 叨ኞ̿烡૬̀㪔಩̿烡૬̀蕦蕣ӥ㬵 $ rake secret # ಑樄 .env 㪔ࣁ SECRET_KEY_BASE 盅ᶎ揳Ӥ̿烡૬̀ # 虏 SECRET_KEY_BASE=development_secret # 虋౮ SECRET_KEY_BASE=XXXXXX ጱ䰬ৼ
  11. 珸㵕 Ruby on Rails ֑๐瑊 $ rails server -b $IP

    -p $PORT • server: 䁆ᤈ Ruby on Rails ֑๐瑊 • -b: 瞲ਧ IP ֖࣎ • $IP: ℂ絑ह虋碍玲஑ IP ֖࣎ • -p: 瞲ਧ蝫矑ओ • $PORT: ℂ絑ह虋碍玲஑蝫矑ओ蒈
  12. ਞ蕕 simple_form Forms made easy for Rails! It's tied to

    a simple DSL, with no opinion on markup rails generate simple_form:install --bootstrap • generate 叨ኞ simple_form gem ጱ戔ਧ䲆 • --bootstrap 膏 Twitter Bootstrap 碉ݳ
  13. ᮎӞᤈฎՋ讕఺௏牫 root "high_voltage/pages#show", id: "home" 1. root դ蔭౯㮉మ疥覌眲殷ᶎ膏᪠䕩 "/" 翉ࣁӞ蚏

    2. high_voltage/pages#show դ蔭蝡㮆᪠䕩ᥝ蚤ᮎ㮆 controller/action 翉ࣁӞ蚏牧蝡㮆ਁԀฎ磪粬ਧ໒ୗጱ 3. id: "home" ฎ౯㮉ᥝ㯽獈 action ጱ㷢碍
  14. 㺔氂矎ᴻ Sass::SyntaxError in HighVoltage::Pages#show File to import not found or

    unreadable: refills/flashes. 1. https://github.com/thoughtbot/suspenders/issues/568 2. ࣁ䲆礯 app/assets/stylesheets/application.scss 戢薹 ധ @import "refills/flashes"; 3. ᯿碝珸㵕֑๐瑊
  15. ࢧ疑֢禂 1. ℂ毣蝚螂 suspenders ୌ缏Ӟ㮆 Ruby on Rails 䌕礯 2.

    蝚螂 high_voltage gem ୌ缏ӣ㮆覌眲䲆礯 3. ے獤֢禂: 傶ӣ㮆覌眲䲆礯ୌ缏瞲ݻஂ種ጱ᩻蝫奾