在Rails中撤消脚手架
有没有办法在Rails中“撤消”脚手架命令的效果?
#1楼
第一次,如果您已生成脚手架,则可以检查数据库迁移。 你必须销毁它们来清理你的数据库
rake db:rollback
然后
rails d scaffold
#2楼
rails d scaffold <scaffoldname>
此外,请确保撤消通过回滚或特定版本进行的迁移。
#3楼
要生成脚手架:
rails generate scaffold xyz
要恢复脚手架:
rails destroy scaffold xyz
#4楼
你需要首先通过执行rake db:rollback回滚迁移(如果有的话)然后通过摧毁脚手架
rails d scaffold foo
#5楼
你也需要在破坏脚手架后回滚迁移
rails destroy scaffold 'scaffoldname'
rake db:rollback
#6楼
用于在轨道中生成脚手架 -
rails generate scaffold MODEL_GOES_HERE
对于rails中的撤消脚手架 -
rails destroy scaffold MODEL_GOES_HERE
#7楼
所以,你应该按照过程来删除rails中的scaffolding 4.运行Command如下:
rails d scaffold FooBar
rake db:rollback
如果you_had_run_rake db:migrate
在创建上面的脚手架后rake db:migrate
,则rake db:rollback
?
而已!
干杯!
#8楼
Rails摧毁了名字
rake db:rollback
#9楼
用这个
rails d scaffold MODEL_NAMErake db:rollback
#10楼
首先,你必须执行rake db:rollback来销毁表
如果你已经运行了rake db:migrate ,那么你就可以运行了
rails d脚手架模型
#11楼
推荐回滚首先,输入您的终端。
rake db:rollback
添加破坏脚手架('d'代表'破坏')
rails d scaffold name_of_scaffold
享受你的代码。
#12楼
如果您只想查看生成器将创建的文件,您可以传递生成器--pretend或-p选项。
#13楼
Rishav Rastogi是正确的,并且使用rails 3.0或更高版本:
rails generate scaffold ...
rails destroy scaffold ...
#14楼
当我们生成脚手架时,将创建以下文件:
命令: rails generate scaffold Game
创建的文件:
> invoke active_record
> create db/migrate/20160905064128_create_games.rb
> create app/models/game.rb
> invoke test_unit
> create test/models/game_test.rb
> create test/fixtures/games.yml
> invoke resource_route
> route resources :games
> invoke inherited_resources_controller
> create app/controllers/games_controller.rb
> invoke erb
> create app/views/games
> create app/views/games/index.html.erb
> create app/views/games/edit.html.erb
> create app/views/games/show.html.erb
> create app/views/games/new.html.erb
> create app/views/games/_form.html.erb
> invoke test_unit
> create test/controllers/games_controller_test.rb
> invoke helper
> create app/helpers/games_helper.rb
> invoke test_unit
> create test/helpers/games_helper_test.rb
> invoke jbuilder
> create app/views/games/index.json.jbuilder
> create app/views/games/show.json.jbuilder
> invoke assets
> invoke coffee
> create app/assets/javascripts/games.js.coffee
> invoke scss
> create app/assets/stylesheets/games.css.scss
> invoke scss
> create app/assets/stylesheets/scaffolds.css.scss
如果我们在此之后运行迁移,那么我们必须首先回滚迁移,因为删除scaffold也会删除迁移文件,我们将无法恢复迁移。
如果我们运行了迁移:
rake db:rollback
在此之后,我们可以通过这个commad安全地移除脚手架。
rails d scaffold Game
此命令将删除项目中scaffold创建的所有文件。
#15楼
无论何时运行rails g
,都可以通过运行rails d
(destroy)来撤消它,以删除你生成的内容。 如果你已经运行了rake db:migrate
,你需要在销毁之前运行rake db:rollback
:)
#16楼
是的, scaffold
本身和所有将它合并的东西。
destroy
命令与generate
相反,将撤消一个。 只需将它的名称与generate
相同的方式传递给它,它将从您的项目中清除:
rails generate scaffold posts title:string content:text
rails destroy scaffold posts title:string content:text
#17楼
案例1:如果只运行此命令来生成脚手架 -
rails generate scaffold MODEL_NAME FIELD_NAME:DATATYPEEx - rails generate scaffold User name:string address:text
但是直到现在你还没有运行任何迁移命令
rake db:migrate
那么你应该只需要运行这个命令 -
rails destroy scaffold User name:string address:text
案例2:如果您已经通过以下命令运行(脚手架和迁移),例如 -
rails generate scaffold User name:string address:textrake db:migrate
然后你应该运行第一个rollback migration命令然后破坏脚手架,如下所示 -
rake db:rollbackrails destroy scaffold User name:string address:text
所以以这种方式,我们可以撤消脚手架。 我们也可以使用d进行销毁 ,使用g作为生成快捷方式。
#18楼
要生成脚手架:
rails generate scaffold abc
要恢复此脚手架:
rails destroy scaffold abc
如果您已为其运行迁移,则只需回滚
rake db:rollback STEP=1
#19楼
rails g scaffold MyFoo
用于生成和
rails d scaffold MyFoo
删除
#20楼
提供者另一种基于git的解决方案
开始一个新项目
rails new project_name
cd project_name
初始化git
git init
git commit -m "initial commit"
创建一个脚手架
rails g scaffold MyScaffold
rake db:migrate
回滚脚手架
rake db:rollback
git reset --hard
git clean -f -d
#21楼
rails [option] scaffold scaffold_name
选项
g generate
d destroy
如果你这样做
rails g scaffold myFoo
然后使用反转它
rails d scaffold MyFoo
#22楼
你可以撤消你所做的任何事情
rails generate xxx
通过
rails destroy xxx
例如,这将生成器应用于迁移,脚手架,模型等
#23楼
最好的方法是:
destroy rake db: rake db:rollback
对于脚手架:
rails destroy scaffold Name_of_script
#24楼
首先 ,如果您已经运行了scaffold
命令生成的迁移,则必须先执行回滚。
rake db:rollback
您可以使用以下方法创建脚手架:
rails generate scaffold MyFoo
(或类似的), 你可以使用它来销毁/撤消它
rails destroy scaffold MyFoo
这将删除由generate
创建的所有文件,但不会删除您手动创建的任何其他更改。
在Rails中撤消脚手架相关推荐
- rails中对应关系
2019独角兽企业重金招聘Python工程师标准>>> 1,建立文章对应的评论表,一对多的关系 rails generate model Comment comment:string ...
- rails中weill_paginate的paginate方法中不能使用额外参数的解决办法
我们知道高版本中的rails中的分页功能已经放在will_paginate这个gem中,我们在控制器方法中往往需要调用其paginate方法来实现分页数据集控制,举个例子:正常的情况我们想要每页显示1 ...
- rails db 查询优化_如何优化查询以解决Rails中常见的可伸缩性瓶颈
rails db 查询优化 by Usama Ashraf 通过Usama Ashraf 如何优化查询以解决Rails中常见的可伸缩性瓶颈 (How to optimize your queries ...
- 在Ruby on Rails中对nil v。空v。空白的简要解释
我发现自己一再寻找nil?差异的明确定义nil? , blank? , empty? 在Ruby on Rails中. 这是我最接近的: blank? 对象是false,空或空白字符串. 例如, &q ...
- Rails中的使用者验证:Devise
Rails中的使用者验证:Devise 概要:Devise是Ruby On Rails的一个三方权限认证组件,通过它可以无需编码快速生成一个带有登陆,注册.权限认证和重置密码的认证模块. 安装: 1. ...
- rails 中的pluck 方法
rails 中的pluck 方法 pluck vs. map Transaction.all.map(&:user_id)# 通过pluck的方法(rails 3.2.1以上版本可用)只需要选 ...
- 编程中的脚手架是什么意思?
编程中的脚手架是什么意思? 脚手架(scaffolding)指的是创建项目时,自动完成的创建初始文件等初始化工作.这些工作往往是每次新建工程都要进行的重复性工作.如创建 Maven 项目时使用的原 ...
- Rails 中 scope
Rails 中自由地使用命名 scope # 可以链式调用 class User < ActiveRecord::Basescope :old, -> { where('age > ...
- Vue中的脚手架指的是什么?
在 Vue 中,脚手架指的是一个命令行工具,它可以帮助用户快速创建一个 Vue 项目,并为项目提供脚手架结构.脚手架会自动生成所需的文件夹和文件,以及安装项目所需的依赖,使用户可以直接开始开发应用而无 ...
最新文章
- Java构造函数的使用_java中构造函数的使用方法
- 谈谈前端产品质量控制
- 【百家稷学】深度学习在计算摄影中的方法与应用(vivo技术分享)
- python numpy ufunc.reduce(self, a, axis=0, dtype=None, out=None, keepdims=False)函数.(连续执行原始运算对值聚合)
- Centos6.5_x86_64 编译安装Subversion-1.8.5
- 从零开始学视觉Transformer (8):卷积和Transformer结合的ViT
- leetcode - 96. 不同的二叉搜索树
- LoadRunner第一次压测实践后的心得体会 收获
- 加密解密:使用对称密码加密文件
- Box2DWeb_04之碰撞检测
- 插件开发之360 DroidPlugin源码分析(二)Hook机制
- 在 lamp(centos)下配置二级 域名 、虚拟主机
- IOS:APP三种状态下收到推送后的跳转操作
- Matlab 获取主板、硬盘、CPU、BIOS和网卡序列号
- 计算机科学与工程学院团委,湖南科技大学计算机科学与工程学院
- 1、4表格细线边框合并
- 【前端】【请求】什么是websocket?
- 正在学习C++的屑人麻了
- 银河麒麟+WIN10双系统安装
- 【超详细】使用Oracle VM VirtualBox 搭建一个Linux虚拟机
热门文章
- Android10.0 Binder通信原理(五)-Binder驱动分析
- 微信翻译生日快乐的代码_微信翻译出 Bug 上热搜,程序员又背锅?!
- JavaScript语言基础6
- 了解JavaScript
- Flutter Widget
- wpf 加载本地html文件,c# – Wpf WebBrowser加载javascript
- .NET Core webapi 允许put请求方式配置文件
- [Codeforces50C]Happy Farm 5 凸包
- 图像几何变换之透视变换
- 为什么远程桌面不能复制?解决方法