如何在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应用程序,然后运行这些命令(只需复制和粘贴它们即可)。 抓取您想要的文件。 完成后删除目录。
我不相信有一个生成单个文件的命令……只有整个脚手架。
您是否有理由生成该文件? 你不确定内容应该是什么?
您可以使用此“反向脚手架”脚本:
它将在app / views文件夹中生成所需的html.erbb文件。
它在Readme页面上得到了很好的解释。
而且,它已针对Rails 3.2进行了更新
如果你还没有模型的控制器,你可以生成控制器,指定你的入口点,它会为你创建视图,但是,如果你想让_form.html。*文件已经用“丑陋的“默认视图你可能不得不使用脚手架来做到这一点。
这是关于生成器和其他rails命令行选项的好指南 。