2

我正在尝试通过 Rails 4 中的 form_tag 提交一系列电子邮件。

新的.html.erb:

...
<%= render partial: 'add_user' %>
<%= render partial: 'new_ride_form' %>
...

_add_user.html.erb:

...
            <input type='text' id='add_passenger_textfield'/>
            <button type='button' id='add_passenger_button'>Add</button>
...

_new_ride_form.html.erb:

<%= form_tag("/rides", method: "post", id: 'create_ride_submission_form') do %>
<div class="row" id="first_passenger">
...
</div>

<div class="row">
    <button id= 'create_ride_button'>Create Ride</button>
</div>

<% end %>

游乐设施.js:

$(document).on('click', '#add_passenger_button', 
        function() {
          var v = $('#add_passenger_textfield').val();
          if(v.length > 0) {
            $('#first_passenger').after( 
              $('<div class="row"/>').append(
                $('<div>').append(
                  $('<input name="emails[]" type="text" value=' + v + ' disabled/>'))
                ));
          }
        }).on('click', '#create_ride_button', function() {
                ...
              $('#create_ride_submission_form').submit();
            }
        });

我想对params[:emails]控制器可见。

以前,当我只是静态地包含类似

<text_field_tag 'emails[]'>

它似乎工作正常,但现在 POST 甚至不再发送一个名为“电子邮件”的字段。这是因为我没有使用表单助手进行输入吗?

4

1 回答 1

3

禁用的表单元素不会发送到服务器。您在 javascript 部分中的输入元素被禁用,除非您在其他地方启用它,否则它永远不会到达您的控制器。

于 2013-10-28T03:05:10.303 回答