如何为已存在的模型生成单个文件(_form.html.erb)的命令是什么?
在Rails 3中工作。
谢谢。
如何为已存在的模型生成单个文件(_form.html.erb)的命令是什么?
在Rails 3中工作。
谢谢。
这可能听起来很傻,但请听我说… 当我想要一张干净的纸时,我自己也做过类似的事情。以下是一个脚本,它将读取您的模式并生成必要的生成命令以重新生成它:
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
它会在你的app/views文件夹中生成所需的html.erbb文件。
如果你还没有针对你的模型的控制器,你可以生成控制器,并指定入口点,然后它会为你创建视图。但是,如果你想要使用“丑陋”的默认视图已经编写好的 _form.html.* 文件,你可能需要使用脚手架来完成。
这里有一个很好的 关于生成器和其他Rails命令行选项的指南。