bugfix> ruby-on-rails > 投稿

RubyのJSONスキーマからHTMLフォームを生成したいと思います。誰もこれをどのように行うことができますか?またはこれを達成するためのライブラリはありますか?

全体の考え方は、要素を含む入力されたJSONスキーマをHTMLフォームに変換する必要があるということです。

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

回答 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 %>
    
    

あなたの答え