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

19 浏览
0 Comments

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

在Rails 3中,生成一个单独的文件(_form.html.erb)的命令是什么?感谢。

0
0 Comments

问题出现的原因是用户想要为现有的模型生成一个表单文件,但是不确定该文件的内容应该是什么。

解决方法是用户可以手动添加字段到表单文件中,虽然也可以重新生成模型的脚手架,但是最终还是需要手动输入所有的列名和类型。

以下是中文输出的文章:

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

有用户提出了一个问题,他想知道如何为现有的模型生成一个表单文件。然而,他并不确定该文件的内容应该是什么。是否有特定的命令可以生成这个文件呢?答案是,Rails中并没有单独生成表单文件的命令,只有生成整个脚手架的命令。

用户解释了他的原因,他已经添加了很多字段,并希望能够自动生成表单文件。然而,其他用户给出了一个解决方案,即手动添加字段到表单文件中。尽管也可以重新生成模型的脚手架,但最终还是需要手动输入所有的列名和类型。

总结起来,Rails中并没有直接生成单个表单文件的命令,但用户可以手动添加字段到表单文件中。重新生成模型的脚手架是一个解决方法,但最终还是需要手动输入所有的列名和类型。希望这个解决方案能够帮助到其他有类似问题的开发者。

0
0 Comments

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

在Rails中,要为现有的模型生成表单,可以使用“reverse scaffold”脚本。这个脚本可以在你的app/views文件夹中直接生成所需的html.erb文件。它在Readme页面中有详细的解释,并且已经更新到Rails 3.2版本。

你可以使用以下命令来安装reverse_scaffold脚本:

gem install reverse_scaffold

安装完毕后,你可以执行以下命令来生成表单:

rails generate reverse_scaffold ModelName

其中ModelName是你想要生成表单的模型的名称。

生成的表单文件将会被放置在app/views文件夹下的相应位置,你可以根据需要进行修改和定制。

使用reverse_scaffold脚本可以方便快捷地为现有模型生成表单,减少了手动编写表单的工作量,提高了开发效率。

0
0 Comments

在Rails中,当我们想要为现有的模型生成表单时,有时会遇到困难。下面的内容提供了一种解决方法。

有一个脚本可以读取数据库的架构信息,并生成相应的生成命令以重新生成它。这个脚本的代码如下:

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应用程序,然后运行这些命令(只需复制和粘贴)。在完成后,将需要的文件复制到其他地方,然后删除该目录。

这个方法很不错,但是也有一个更全面的工具可以完成这个任务,它是一个名为schema_to_scaffold的Gem,可以在https://github.com/frenesim/schema_to_scaffold找到。

0