【问题标题】:How to create a "template" of records in a Rails app?如何在 Rails 应用程序中创建记录“模板”?
【发布时间】:2011-11-10 20:15:22
【问题描述】:

用户可以创建调查。调查有问题,问题有答案选项(即多项选择题)。

我想做的是创建调查模板...这样用户就可以通过点击一个按钮来创建一个包含预设问题和答案选项的新调查。

我们已经有了一个正常运行的应用程序,所以这不是问题所在。我们也已经具备复制/复制/克隆调查的能力。也不是问题。

问题是,我如何创建一组应用程序的任何用户都可以访问的预定义​​调查/问题/答案选项?

我是否将所有设置作为哈希存储在某种 templates 表中(然后只运行 Survey.create({:questions => {:answers =>{}})?或其他我没有想到的方法?

这有意义吗?需要进一步说明吗?

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 templates model


    【解决方案1】:

    您可以对调查模型使用单表继承,以区分调查和调查模板。 这样您还可以更好地集成授权。

    在 Rails 中使用 STI 时,模型需要一个 :type 属性,Rails 将每个记录的类名存储在该属性中。

    见:

    http://code.alexreisner.com/articles/single-table-inheritance-in-rails.html

    【讨论】:

      【解决方案2】:

      为什么不向调查模型添加一个名为 is_template 的标志(布尔值)?然后您可以创建一个普通调查并将is_template 标志设置为高。然后,用户可以查看所有设置了此标志的调查并复制它们。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-02-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-05-09
        • 2014-12-10
        相关资源
        最近更新 更多