2015-02-02 3 views
0

Функция javascript позволяет поле с флажком, но тогда значение поля не передается контроллеру на отправке. Как я могу это исправить?Как создать/обновить Rails date_select params?

<%= f.label :texture_date, "Texture" %> 
<%= f.date_select(:texture_date, 
    { :order => [:month, :day], disabled: true }, 
    { class: 'texture_date' }) %> 
<%= check_box_tag :texture_date_enable, '' %> 

$(document).on('change','#texture_date_enable', function(){ 
    $("select.texture_date").prop('disabled', !this.checked); 
}); 

UPDATE: Параметр фактически переходит к контроллеру, но он не обновляется. Он также отправляет: texture_date_enable как параметр, который не нужен.

Вот то, что PARAMS выглядеть в журнале:

"texture_date(2i)"=>"2", "texture_date(3i)"=>"2" 

есть (2i) и (3i) возникают проблемы?

ОБНОВЛЕНИЕ:

Полные параметры. Обратите внимание, что «Дата, полученная в магазине» проходит, но это поле было включено при загрузке страницы. Все остальные поля даты являются необязательными, и они не обновляются.

Parameters: {"utf8"=>"✓", "authenticity_token"=>"rg8yJ4hKAOeUEKytzDq3mc5SwPdnNQitFOlK6VrfU2p49JmX9Ipu0M+dT2GWO+LttS+BMy+5nJ5WXGBo63yh9A==", "ticket"=>{"date_received_in_shop(2i)"=>"2", "date_received_in_shop(3i)"=>"2", "date_received_in_shop(1i)"=>"2015", "job_number"=>"", "customer"=>"", "address1"=>"", "city"=>"", "manufacturing_location"=>"D", "mapsco_page"=>"", "builder_contact"=>"", "builder_contact_phone"=>"", "salesman"=>"", "draftsman"=>"", "door_style"=>"", "door_manufacturer"=>"D", "insulation_and_or_inspection"=>"None", "texture_date(2i)"=>"2", "texture_date(3i)"=>"2", "notes"=>"", "block_up_for_floor"=>"0"}, "texture_date_enable"=>"", "commit"=>"Update Ticket", "id"=>"20"} 
+0

отправьте снимок экрана с параметрами. Также верно ли именование и разрешены ли параметры? – jaspreet21anand

+0

'(2i)' и '(3i)' - то, как Rails передает части дат вокруг. – meagar

+0

Будете ли вы смотреть на мои параметры хэша? Почему «дата, полученная в магазине» работает, но не те, которые я включил в форму? –

ответ

0

Проблема заключалась в скрытом/отключенном поле Год. Добавив поле года к другим включенным входам, форма работала, как ожидалось.