玩具应用toy_app

2017-04-30  本文已影响0人  TW冯雯

创建toy-app应用:

cd ~/workspace
rails new toy_app
cd toy_app/

参照使用Heroku部署hello_app,修改Gemfile文件,然后执行:

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

参照创建第一个应用hello_app修改toy_app应用中的app/controllers/application_controller.rb文件,定义动作。
提交改动,再推送到 Heroku 中:

git commit -am "Add hello"
heroku create
git push heroku master

Users资源:创建用户
接下来,利用脚手架scaffold,生成Users资源:

rails generate scaffold User name:string email:string
rails db:migrate    #迁移数据库

执行rails s命令后,在浏览器打开 http://localhost:3000/users 就可以看到,是一个可以创建用户的界面了(好可惜,这里没有截图),并且可以创建、编辑、删除用户。

修改toy_app/config/routes.rb文件,改变跟路由:

Rails.application.routes.draw do
  resources :users
  root 'users#index'
end

Microposts资源:创建微博
同样利用scaffold生成Microposts资源:

rails generate scaffold Micropost content:text user_id:integer
rails db:migrate

执行rails s命令后,在浏览器打开 http://localhost:3000/microposts/new 就可以看到,是一个可以创建微博的界面了。试着输入一些内容吧。

在toy_app/app/models/micropost.rb中可以限制微博的长度:

class Micropost < ApplicationRecord
  validates :content, length: { maximum: 140 }
end

修改toy_app/app/models/user.rb文件,设置一个用户可拥有多篇微博:

class User < ApplicationRecord
  has_many :microposts
end

修改toy_app/app/models/micropost.rb,设置一篇微博属于一个用户:

class Micropost < ApplicationRecord
  belongs_to :user
  validates :content, length: { maximum: 140 }
end

修改toy_app/app/models/micropost.rb文件,添加验证微博内容存在性的代码:

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   #迁移生产数据库

好了,今天的学习终于是在“碰到问题to解决问题”的过程中完成了,实践出真理,动动脑筋,灵活学习,任何困难都会迎刃而解的。

上一篇下一篇

猜你喜欢

热点阅读