【问题标题】:JSON Schema to HTML form in RubyRuby 中的 JSON Schema 到 HTML 表单
【发布时间】:2018-05-30 10:05:59
【问题描述】:

我想用 Ruby 中的 JSON 模式生成 HTML 表单。谁能帮助我如何做到这一点?或者我们是否有任何图书馆可以做到这一点?

整个想法是,应将输入的带有元素的 JSON Schema 转换为 HTML 表单。

{  
   "$schema": "json-schema.org/draft-03/schema#",
   "title": "A boolean",
   "description": "A simple boolean data type as schema root",
   "type": "boolean"
} 

【问题讨论】:

  • 你能提供一个 JSON 样本吗?
  • { "$schema": "json-schema.org/draft-03/schema#", "title": "A boolean", "description": "作为模式根的简单布尔数据类型", "type": "boolean " } 这只是一个简单的。

标签: ruby-on-rails json ruby schema


【解决方案1】:

无法使用任何 JSON 模式创建表单。如果您创建了某种格式,则可以从中创建表单。

例如,

json = [
    {
        "name": "Book Name",
        "type": "integer",
        "is_required": true,
        "placeholder": "Closed Deals"
    },
    {
        "name": "No of Pages",
        "field_type": "date",
        "is_required": true,
        "placeholder": "Enter time spent in minutes"
    },
    {
        "name": "Published On",
        "type": "date",
        "unit": "date",
        "placeholder": "Date"
    }
]

现在我们需要遍历数据并创建表单:

<%= form_for <your_model> %>
   <% json.each do |field_data| %>
     <%= f.text_field field_data['name'], type: field_data['field_type'], required: field_data['is_required'], placeholder: field_data['placeholder'] %>
   <% end %>
   <%= submit_tag %>
<% end %>

【讨论】:

  • 谢谢,我可以自定义表单生成器助手以使此循环动态化吗?即助手需要根据您提到的 JSON 数据来处理生成表单元素。
  • 您可以使用this 之类的方法来完成。如果您想保持简单,那么我认为视图助手或部分视图可以完成这项工作。
猜你喜欢
  • 1970-01-01
  • 2017-10-09
  • 1970-01-01
  • 2013-10-12
  • 2013-08-06
  • 2018-12-16
  • 2017-06-11
  • 1970-01-01
  • 2020-01-17
相关资源
最近更新 更多