2013-10-28 32 views
1

我試圖經由的form_tag Rails中提交的電子郵件的陣列的陣列4提交使用的form_tag處理動態生成的輸入

new.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 %> 

rides.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甚至沒有發出一個名爲「電子郵件」欄中了。這是因爲我沒有使用表單助手的輸入?

回答

2

禁用的表單元素沒有發送到服務器。 javascript部分中的輸入元素被禁用,除非您在其他地方啓用它,否則它將無法連接到您的控制器。

+0

哇,像往常一樣,錯誤是非常愚蠢的:)我把它從'禁用'改爲'只讀',它現在可以工作!謝謝! – jiangty