Rails:管理员在运行时创建的表单的自定义属性

时间:2014-12-10 11:27:50

标签: ruby-on-rails ruby-on-rails-4 activerecord

我是Rails的新手。我们假设网络应用的管理员可以设置用户提交表单时所需的额外字段。

例如,在错误跟踪系统中,管理员可以设置一个复选框'并标明"向客户承诺?"。因此,每当有人输入错误时,他们应该提交此信息。这也可以在以后更改甚至删除。一切都取决于管理员。

所以我希望Admin在为Bug条目表单创建自定义字段时有以下选项...

  1. '字段名称'文字输入

  2. '字段类型'下拉列表的值为"复选框","文本输入"," textarea"等

  3. '必需'如果Bug条目需要这样的复选框

  4. 如果有人有一个如何做到这一点的例子,特别是如何正确验证(服务器端,没有JS)这样的自定义字段,那就太棒了。

    如果它很重要,我正在使用MySQL。

1 个答案:

答案 0 :(得分:0)

  1. 安装嵌套表单gem - https://github.com/ryanb/nested_form
  2. 添加Bug和CustomField模型:

    model Bug
      has_many :custom_fields
      accepts_nested_attributes_for :custom_fields, allow_destroy: true
    end
    
    model CustomField
      belongs_to :bug
      validates :name, presence: true
      enum field_type: ["checkbox", "text input", "textarea"]
    end
    
  3. 读取nested_form用法以将嵌套字段添加到错误表单。