如何在Rails中为现有模型生成表单?

现有模型生成单个文件(_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 

如果你运行它,你将得到一系列命令。 在新目录中,创建一个新的rails应用程序,然后运行这些命令(只需复制和粘贴它们即可)。 抓取您想要的文件。 完成后删除目录。

我不相信有一个生成单个文件的命令……只有整个脚手架。

您是否有理由生成该文件? 你不确定内容应该是什么?

您可以使用此“反向脚手架”脚本:

https://github.com/ahe/reverse_scaffold

它将在app / views文件夹中生成所需的html.erbb文件。

它在Readme页面上得到了很好的解释。

而且,它已针对Rails 3.2进行了更新

如果你还没有模型的控制器,你可以生成控制器,指定你的入口点,它会为你创建视图,但是,如果你想让_form.html。*文件已经用“丑陋的“默认视图你可能不得不使用脚手架来做到这一点。

这是关于生成器和其他rails命令行选项的好指南 。