回答
这可能听起来很愚蠢,但是听我说......当我想要开始干净的时候,我自己也做了几次这样的事情。下面是一个脚本,将读取你的架构和产生必要的生成命令,以重现:
require 'rubygems'
require 'active_support/core_ext'
schema = File.read('db/schema.rb')
schema.scan(/create_table "(\w+)",.*?\n(.*?)\n end/m).each do |name, ddl|
puts "rails generate scaffold #{name.classify} " +
ddl.scan(/t\.(\w+)\s+"(\w+)"/).
reject {|type,name| %w(created_at updated_at).include? name}.
map {|type,name| "#{name}:#{type}"}.join(' ')
end
如果你运行它,你会得到一系列命令。在一个新目录中,创建一个新的rails应用程序,然后运行这些命令(只需复制并粘贴它们即可)。抓住你想要的文件。完成后删除目录。
我不相信有一个命令来生成单个文件......只有一个整个脚手架。
是否有你想要生成该文件的原因?你不确定内容应该是什么?
原因是我添加了一堆字段并希望自动生成该文件。 –
啊......你最好的选择是把它们添加进你自己。您可以重新生成您的模型脚手架,但最终您还是会输入所有列名称和类型。 –
如果您还没有模型的控制器,您可以生成控制器,指定您的入口点并为您创建视图,但是,如果您希望已经有_form.html。*文件用“丑陋”的默认视图编写,你可能不得不使用脚手架来做到这一点。
这是一个很好的guide on generators and other rails command line options。
您可以使用这种 “反向脚手架” 脚本:
它会生成所需的html.erbb文件就在你的应用程序/ views文件夹。
它在自述文件页面上有很好的解释。
而且,它已更新为Rails 3.2
- 1. rails 3:如何为现有数据库表生成模型
- 2. 在Rails中,如何从现有模型生成展示视图?
- 3. Rails根据模型生成表单
- 4. Rails的生成从现有表型号?
- 5. 为现有模型生成脚手架
- 6. 为现有的Rails 3生成Rspec测试模型
- 7. rails生成模型
- 8. 如何在Rails 3中为生成的模型启动slug mongoid_slug?
- 9. 有没有办法从现有的模型生成Rails灯具?
- 10. 如何为rails应用程序中的模型生成文档?
- 11. Rails中现有表的模型2
- 12. 为什么rails会生成空模型?
- 13. 从Rails Schema生成模型
- 14. rails生成模型:错误
- 15. Rails 3.0模型生成
- 16. Ruby on Rails生成模型
- 17. 如何使用rails生成2个模型生成命令
- 18. Rails模型生成器 - 从现有的数据库
- 19. 如何将现有模型与Rails中的新模型关联
- 20. 如何在Rails 3.1.1.rc1中生成模型/控制器?
- 21. 如何在Ruby on Rails中生成此模型
- 22. 如何在rails模型中定义json方法来生成json?
- 23. 如何在postgreSQL中为现有表生成“create table”sql语句
- 24. 如何在Rails中生成连接表
- 25. 如何在sencha中生成模型?
- 26. 在铁路中生成单一模型?
- 27. 在rails中实现模型的模型
- 28. rails生成模型引用类型
- 29. 如何为我的模型和控制器在rails中生成文档
- 30. 在Rails中,如何为模型的新实例生成唯一的序列号?
这很有帮助。谢谢。 –
这很好,但https://github.com/frenesim/schema_to_scaffold更彻底地充实了这一点。 – dankohn