創(chuàng)建toy-app應(yīng)用:
cd ~/workspace
rails new toy_app
cd toy_app/
參照使用Heroku部署hello_app蔫饰,修改Gemfile文件,然后執(zhí)行:
bundle install --without production #安裝gem
git init #把toy_app納入git中
git add -A
git commit -m "Initialize repository"
git remote add origin git@bitbucket.org:<username>/toy_app.git
git push -u origin --all
參照創(chuàng)建第一個應(yīng)用hello_app修改toy_app應(yīng)用中的app/controllers/application_controller.rb文件愉豺,定義動作篓吁。
提交改動,再推送到 Heroku 中:
git commit -am "Add hello"
heroku create
git push heroku master
Users資源:創(chuàng)建用戶
接下來蚪拦,利用腳手架scaffold杖剪,生成Users資源:
rails generate scaffold User name:string email:string
rails db:migrate #遷移數(shù)據(jù)庫
執(zhí)行rails s
命令后,在瀏覽器打開 http://localhost:3000/users 就可以看到驰贷,是一個可以創(chuàng)建用戶的界面了(好可惜盛嘿,這里沒有截圖),并且可以創(chuàng)建括袒、編輯次兆、刪除用戶。
修改toy_app/config/routes.rb文件箱熬,改變跟路由:
Rails.application.routes.draw do
resources :users
root 'users#index'
end
Microposts資源:創(chuàng)建微博
同樣利用scaffold生成Microposts資源:
rails generate scaffold Micropost content:text user_id:integer
rails db:migrate
執(zhí)行rails s
命令后类垦,在瀏覽器打開 http://localhost:3000/microposts/new 就可以看到,是一個可以創(chuàng)建微博的界面了城须。試著輸入一些內(nèi)容吧蚤认。
在toy_app/app/models/micropost.rb中可以限制微博的長度:
class Micropost < ApplicationRecord
validates :content, length: { maximum: 140 }
end
修改toy_app/app/models/user.rb文件,設(shè)置一個用戶可擁有多篇微博:
class User < ApplicationRecord
has_many :microposts
end
修改toy_app/app/models/micropost.rb糕伐,設(shè)置一篇微博屬于一個用戶:
class Micropost < ApplicationRecord
belongs_to :user
validates :content, length: { maximum: 140 }
end
修改toy_app/app/models/micropost.rb文件砰琢,添加驗證微博內(nèi)容存在性的代碼:
class Micropost < ApplicationRecord
belongs_to :user
validates :content, length: { maximum: 140 },
presence: true
end
修改toy_app/app/models/user.rb,添加驗證用戶名和郵件存在性的代碼:
class User < ApplicationRecord
has_many :microposts
validates :name, presence: true
validates :email, presence: true
end
部署:
git add -A
git commit -m "finished"
git push
heroku create
git push heroku
heroku run rails db:migrate #遷移生產(chǎn)數(shù)據(jù)庫
好了良瞧,今天的學(xué)習(xí)終于是在“碰到問題to解決問題”的過程中完成了陪汽,實踐出真理,動動腦筋褥蚯,靈活學(xué)習(xí)挚冤,任何困難都會迎刃而解的。