2016-01-13 40 views
0

虽然Rails脚手架系统是一个节省时间的巨大时间,但我发现给定的站点会根据特定的框架有不同的视图集。直到最近,我都会手动编辑五个视图文件{_form,edit,index,new,show}中的每一个,以适合特定的设计,但是这已变老。我如何重新运行从新模板创建的脚手架视图

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

我宁愿能够重新运行脚手架发电机,但只是为了意见。喜欢的东西:

$ rails g redo-views Post 

这将在新的模板重新创建五个文件,只在控制器,模型,迁移和其他一切,独自一人。我能想到的唯一选择是单独创建一个虚拟站点,并手动复制每个控制器的视图文件。这也要求我知道在脚手架生成期间最初使用的参数,所以它可以创建正确的字段。

有没有更好/更简单的方法?

+0

你的意思是希望这样的事情'轨产生控制器的家索引'应该只产生'索引'行动 – mfathy00

+0

我记得做了一些像'rails g erb:scaffold post title content'这样的东西。但是,您需要明确包含所有属性。它不会自动从模式加载属性。在使用之前,我专门处理了这个问题。它基本上只是打印出一个模型的所有属性的字符串,就像你正在生成一个脚手架一样。从那以后,我会复制字符串并将其粘贴在导轨上。我忘了宝石的名字,我会记得更新这个。 –

回答

1

轨摹ERB:脚手架帖子标题内容

但是,你需要指定此命令的所有属性。

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

1

试试这个:

rails g erb:scaffold Post 
+0

你好。问题是这不会添加所有的表单属性。比方说,我从$ rails g scaffold开始Post title body:text author:references(等等)。如果我想重做视图,我需要重新运行包括所有字段属性的整个命令。我想知道是否有更简单的方法。 – dtynan

相关问题