【问题标题】:Complex sinatra parameter复杂的 sinatra 参数
【发布时间】:2014-12-01 16:51:06
【问题描述】:

Javascript 模板

  <script type="text/x-jsrender" id="questionTmpl">
    <li class="question">
      <input type="text" name="survey[question]" />
      <button class="add_answer">Add Answer</button>
      <ul></ul>
    </li>
  </script>

  <script type="text/x-jsrender" id="answerTmpl">
    <li class="answer">
      <input type="text" name="survey[answer]" />
    </li>
  </script>

jQuery

 $(document).ready(function () {

  $("#add_question").click(function(e) {
    e.preventDefault();
    $("#questionForm ol").append($.templates("#questionTmpl").render())
  });


  $("#questionForm").on('click', '.add_answer', function(e) {
    e.preventDefault();
    console.log()
    $(this).parent().find("ul").append($.templates("#answerTmpl").render())
  });
});

erb

<div class="container">
  <br>

  <form action="/surveys" method="post" id="questionForm">
    <input type="text" name="title" placeholder="survey name">
    <button id="add_question"> Add a question </button>
    <ol></ol>
    <input type="submit" value="create" id="submit_form">
  </form>

</div>

我正在 sinatra 中进行调查申请。我目前设置它的方式是使用 jsrender,渲染模板来添加问题和添加答案。我的问题是关于 javascript 模板中输入文本字段的名称。基本上我想知道是否有一种方法可以设置参数名称,以便 sinatra 将它们全部收集为哈希,使用survey[question] 作为键,以及survey[answer] 参数的数组作为数组所述键的值。

【问题讨论】:

  • 看看this article,看看它是否能给你一些想法。

标签: javascript jquery forms sinatra erb


【解决方案1】:

如果您发布表单,Sinatra 会自动从变量params 中获取帖子中的所有值。

试试这个,你应该会看到发生了什么:

get '/surveys' do
  puts params.inspect
end

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-02
    • 1970-01-01
    相关资源
    最近更新 更多