如何创建/更新Rails date_select参数?

时间:2015-02-02 14:34:29

标签: ruby-on-rails

javascript函数启用带有复选框的字段,但是该字段的值不会在提交时传递给控制器​​。我该如何解决这个问题?

<%= 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);
});

更新:参数实际上是转到控制器,但它没有更新。它还发送:texture_date_enable作为param,这是不需要的。

以下是日志中params的样子:

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

(2i)和(3i)会导致问题吗?

更新:

完全参数。请注意&#34;在商店收到的日期&#34;正在传递,但在页面加载时启用了此字段。所有其他日期字段都是可选的,它们不会更新。

  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"}

1 个答案:

答案 0 :(得分:0)

问题是隐藏/禁用的年份字段。通过将年份字段添加到其他已启用的输入,表单按预期工作。