rails如何在一种形式中嵌套表单?

时间:2016-08-07 08:51:44

标签: javascript jquery ruby-on-rails nested-forms

场景是这样的,我想设计一个Post表格,用于记录我一顿饭吃的水果,包括picturecontent,多种{fruit 1}}。 模型关系是,

Post has_many fruits
Fruit belong_to post

我使用Jquery-ui制作autocomplete以帮助用户输入他们的水果。在他们输入水果标签后,它会在输入字段下创建一个标签。 喜欢这个

enter image description here

但是如何在表格中创建?我考虑过动态嵌套表单,但我不希望它有很多表单,我希望只有一个输入并使用动态嵌套表单执行相同的操作。

以下是github,如果需要提供更多信息,请与我们联系。

1 个答案:

答案 0 :(得分:2)

$(document).on('click','#add_fruit',function(e){
  e.preventDefault();
  addFruitTag();
});

function addFruitTag(){
  var content = $('#content').val().trim();
  var fruit = $('#fruit').val().trim();
  if(content.length <1 || fruit.length < 1){
    alert("Please fill content and fruit");
  }else{
      $('#fruit_tags').append(
        $('<input>')
        .attr('type','checkbox')
        .attr('name','fruits[]')
        .attr('value',$('#fruit').val())
        .prop('checked','true')
      )
      .append(
        $('<label>')
        .text($('#fruit').val())    
      )
      .append($('<br>'));
  }
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<form action="#" method="GET">
  Content : <input type="text" id="content" name="content"><br/>
  Fruit : <input type="text" id="fruit">
  <button id="add_fruit">Add Fruit</button><br/>
  <div id="fruit_tags">
  </div>
  <input type="submit" value="Create Post">  
</form>

注意:我对自动完成插件不太了解,所以我创建了函数addFruitTag(),调用它来调用你添加水果哈希标签的功能

当您将表单提交给服务器时,您可以通过访问fruits[]变量来检索添加的结果,该变量将是包含所选水果标签的数组。