如何重新运行 从新模板创建脚手架视图

How can I re-run a scaffold view create from a new template

虽然 Rails 脚手架系统可以节省大量时间,但我发现根据特定框架,给定站点将具有不同的视图集。直到最近,我都会手动编辑五个视图文件中的每一个 {_form、edit、index、new、show} 以适应特定的设计,但这已经过时了。

覆盖默认模板的能力是一项出色的新功能,我现在经常使用它。问题是,我可能有很多控制器和视图,如果我需要在创建视图文件后重做 html,我需要全部编辑它们或使用精心制作的 'sed'命令。

我希望能够重新运行 脚手架生成器,但只是为了视图。类似于:

$ rails g redo-views Post

这将从新模板重新创建五个文件,单独留下控制器、模型、迁移和其他所有内容。我能想到的唯一选择是单独创建一个虚拟站点,然后手动复制每个控制器的视图文件。这也需要我知道脚手架生成过程中最初使用的参数,因此它可以创建正确的字段。

有better/easier方法吗?

试试这个:

rails g erb:scaffold Post

railsgerb:scaffoldpost标题内容

但是,您需要在此命令中指定所有属性。

一个快捷方式是使用 schema_to_scaffold,您可以复制一个字符串并将其附加到 rails g erb:scaffold,这样您就不需要一个一个地手动包含所有属性