玩具应用toy_app

创建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解决问题”的过程中完成了,实践出真理,动动脑筋,灵活学习,任何困难都会迎刃而解的。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,989评论 25 709
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,107评论 19 139
  • 刚刚在回顾运营了两年的茉莉家族,365*2,365*2*24,17,520分钟,每一分每一秒都与最值得的人在一起。...
    茉莉大大阅读 338评论 0 0
  • 起床时间:5:30 运动项目:慢跑 成果:4.3 km,34分钟,302 大卡
    温暖的小胖纸阅读 544评论 0 50
  • 一场盛大的宴会,就这样,落下了帷幕,鲜红的帷幕一旦被拉上,我们的笑声,泪水,就真的,再也不见。杯盘狼藉,曲终人散。...
    钗离阅读 236评论 0 0