前言
rails创建项目遇到问题,可能是版本兼容问题,特此记录一下。
前提 解决new项目时出现的问题,可能原因是rails6.0版本
安装指定版本的rails: $gem install rails -v 5.1.7
卸载6.0版本的rails: $gem uninstall rails -v 6.0.0问题:卸载成功此时rails -v 仍显示6.0?
创建rails项目
(1)创建指定版本的rails项目:$rails _5.1.7_ new 项目名
(2)进入项目: $cd 项目名
(3)执行bundle命令: $bundle install
(4)启动项目 : $rails s
创建模型(使用脚手架scaffold)
(1)脚手架创建User模型 $rails generate scaffold User name:string email:string
(2)运行迁移,生成数据库 $rails db:migrate
创建模型关联和校验数据
(1)has_many和belongs_to查询数据
(1)first_user=User.first
(2)first_user.microposts
(3)micropost=first_user.microposts.first
(4)micropost.user (前提:先模型关联)添加路由
(1)root "类名#动作名" #添加根路径
(2)resources :users #添加user资源路径ruby语句
(1)render html:"内容" #直接写入html
静态页面
(1)provide(名字,"内容")
yeild(名字)
模型和控制器的继承关系
易错:
1.页面取值<%%>不要忘rails命令简写:
(1)$rails s ------ $rails server
(2)$rails c ------ $rails console
(3)$rails g ------ $rails generate
(4)$rails t ------ $rails test #执行测试文件
(5)$bundle ------ $bundle installrails的撤销操作
(1)$rails generate controller StaticPages home help #创建控制器,并添加两个动作
$rails destroy controller StaticPages home help
(2)$rails generate model User name:string email:string #创建模型,字段
$rails destroy model User
(3)$rails db:migrate ------- $rails db:rollback #执行迁移---撤销前一个迁移
$rails db:migrate VERSION=0 #回到开始状态rails测试编写
(1)get static_pages_home_url
assert_response :success
assert_select "title" ,"SampleApp"
rails中REST架构(表现层状态转化)
学习历程:
1.入门rails
4.Rails 路由
rails项目
前提 查询安装的应用版本 $gem list