0

我将从事一个具有非常大的数据模型但不需要视图看起来太独特的项目。我认为加快所涉及的工作的一个好方法是创建一个类似于脚手架的生成器,但使用简单的表单和引导类之类的东西。与脚手架没有太大区别,只是一些小的变化。有什么想法我该怎么做吗?

4

1 回答 1

3

我最近构建了一个脚手架生成器。我做了两件重要的事情:

这帮助我了解了 gems 的工作方式,并在资产管理等方面给了我更多的灵活性。

话虽如此,Rails 生成器使用了 Thor。要知道的最重要的事情是您需要以某种方式加载文件(我建议使用初始化程序和lib目录)并且该文件将运行每个公开定义的方法。这有点奇怪和意外,但它有助于保持代码干净。

例如:

class CustomerGenerator < Rails::Generators::Base
    argument :foo, :type => :string, :default => 'foozball'
    def create_view_files
        template 'path/to/your/view.html.erb',"app/views/view.html.erb"
    end
end

这将自动调用create_view_files,并且您可以在类和模板中以 foo 的形式访问 :foo 参数。

要转义 erb 标签,请使用<%%= %>而不是<%= %>- 后者实际上将被评估,这允许您执行类似<%%= @<%= foo %> %>. 在我们的默认情况下,这将评估为<%= @foozball %>

您可能想看看漂亮的生成器以使所有内容都符合要求,但这是实际生成器如何工作的基础知识。

于 2013-10-24T14:00:13.307 回答