intermediate rails week-1 #2
DESCRIPTION
http://learn-rails.today/workshops/intermediate 第一堂投影片第二部分TRANSCRIPT
Rails #2
PlainTaskSublime ⼩小⼯工具
安裝⽅方式
• 打開 SublimtText
• ⌘ + shift + p ( install package )
• 選擇 PlainTasks
( 請⼤大家時間裝⼀一下 )
⼀一些技巧
• 「檔名為 TODO」或者是「副檔名為 TODO 」的會⾃自動變⿈黃筆記本。
• ⌘ + i (新增 TODO)
• ⌘ + d (完成 TODO)
• ⌘ + c (取消 TODO)
( 請⼤大家把剛剛的 TODO 貼到這裡⾯面 )
(分隔線)
Version 3!!1. ⾝身為商家的管理者,我要能夠在後台上架我的東⻄西,並設定能夠販賣
2. ⾝身為商家的管理者,我要能夠在後台設定權限,權限分成管理者以及消費者
3. 作為⼀一個消費者,我要在前台能夠找到商品並結賬
Version 3!!1. ⾝身為商家的管理者,我要能夠在後台上架我的東⻄西,並設定能夠販賣!! - 管理者必須要有⼀一個後台! - 後台必須要可以新增產品! - 產品內容必須要有標題、⽂文字、數量、圖⽚片!!
Version 3!!1. ⾝身為商家的管理者,我要能夠在後台上架我的東⻄西,並設定能夠販賣!! - 管理者必須要有⼀一個後台 ( /admin/products/)! - 後台必須要可以新增產品! - 產品內容必須要有標題、⽂文字、數量、圖⽚片!!
rails g controller admin::products
http://artstore.dev/admin/products
Version 3!!1. ⾝身為商家的管理者,我要能夠在後台上架我的東⻄西,並設定能夠販賣!! - 管理者必須要有⼀一個後台! - 後台必須要可以新增產品! - 產品內容必須要有標題、⽂文字、數量、圖⽚片!!
rails g model product title:string description:text quantity:integer
Version 3!!1. ⾝身為商家的管理者,我要能夠在後台上架我的東⻄西,並設定能夠販賣!! - 管理者必須要有⼀一個後台! - 後台必須要可以新增產品! - 產品內容必須要有標題、⽂文字、數量、圖⽚片!!
app/views/admin/products/new.html.erb
( 請動⼿手做把 index 完成)
Version 3!!1. ⾝身為商家的管理者,我要能夠在後台上架我的東⻄西,並設定能夠販賣
2. ⾝身為商家的管理者,我要能夠在後台設定權限,權限分成管理者以及消費者! - ⾝身為管理者,才可以進⼊入後台! - ⾝身為管理者,必須要登⼊入且是 admin ! - 管理者⾝身份必須要被分為 admin / user
3. 作為⼀一個消費者,我要在前台能夠找到商品並結賬
Version 3!!1. ⾝身為商家的管理者,我要能夠在後台上架我的東⻄西,並設定能夠販賣
2. ⾝身為商家的管理者,我要能夠在後台設定權限,權限分成管理者以及消費者! - ⾝身為管理者,才可以進⼊入後台! - ⾝身為管理者,必須要登⼊入且是 admin ! - 管理者⾝身份必須要被分為 admin / user
3. 作為⼀一個消費者,我要在前台能夠找到商品並結賬
(安裝 devise)
Gemfilebundle install
rails g devise:install
rails g devise user
rake db:migrate
Version 3!!1. ⾝身為商家的管理者,我要能夠在後台上架我的東⻄西,並設定能夠販賣
2. ⾝身為商家的管理者,我要能夠在後台設定權限,權限分成管理者以及消費者! - ⾝身為管理者,才可以進⼊入後台! - ⾝身為管理者,必須要登⼊入且是 admin ! - 管理者⾝身份必須要被分為 admin / user
3. 作為⼀一個消費者,我要在前台能夠找到商品並結賬
app/controllers/admin/products_controller.rb
Version 3!!1. ⾝身為商家的管理者,我要能夠在後台上架我的東⻄西,並設定能夠販賣
2. ⾝身為商家的管理者,我要能夠在後台設定權限,權限分成管理者以及消費者! - ⾝身為管理者,才可以進⼊入後台! - ⾝身為管理者,必須要登⼊入且是 admin ! - 管理者⾝身份必須要被分為 admin / user
3. 作為⼀一個消費者,我要在前台能夠找到商品並結賬
app/controllers/admin/products_controller.rb
app/controllers/application_controller.rb
app/models/user.rb
rails g migration add_is_admin_to_user
u = User.new(:email=> “[email protected]”,:password => “12345678”, :password_confirmation => “12345678”)
u = User.new(:email=> “[email protected]”,:password => “12345678”, :password_confirmation => “12345678”)
u.save
u.is_admin = true
u.save
rails c
http://artstore.dev/admin/products/new
(不過能登⼊入不能登出怎麼辦)
app/views/layout/application.html.erb
(分隔線)
⺫⽬目前的版⾯面超醜的
(分隔線)
Bootstrap
Gemfile
app/assets/stylesheets/application.css
asset pipeline mount
app/assets/stylesheets/application.css
作業 • 寫後台的 User Story
• 實作圖⽚片上傳 carrierwave
• ⽤用 Bootstrap 做⼀一個「有 Nav bar 」的 layout
• 使⽤用 simple_form 換掉 form
• products/show, products,index 也請實作
提⽰示 #1• User Story
• ⽤用 Plantask 拆
• 儘量列出你想得到細節
提⽰示 #2• 上傳圖⽚片
• 安裝 carrierwave
• product has_many:photos
• photos mount ImageUploader
提⽰示 #3• Bootstrap
• layout 在網路上找
• 要有 Login / Logout 的 bar
提⽰示 #3• Simpleform
• simpleform with bootstrap form initializer
提⽰示 #4• Product # show
(分隔線)
交作業
Github pull-request• fork repo
• git checkout -b store-v1
• git push origin store-v1
• 對 rocodev/artstore 拉 pull-request
• 參考有誰拉了 pull-request
解答(禮拜六給)
(分隔線)