2017-03-29 30 views
0

所以這是我第一次嘗試與紅寶石一起擺弄,我試圖做一個博客類型的條目,我默認給出當前日期,然後我可以輸入文本到另一個文本框。jQuery datepicker not submitting

我創建了一個日期選擇器,並設置日期以選擇當前日期。它會自動顯示當前日期,當點擊字段時,我可以選擇另一個,但是在提交帖子時,日期不會被處理。

如果我創建一個文本字段並手動輸入日期,它的工作原理。

這是我_form.html.erb

<%= form_for(gym) do |f| %> 
    <% if gym.errors.any? %> 
    <div id="error_explanation"> 
     <h2><%= pluralize(gym.errors.count, "error") %> prohibited this gym from being saved:</h2> 


     <ul> 
     <% gym.errors.full_messages.each do |message| %> 
     <li><%= message %></li> 
     <% end %> 
     </ul> 
    </div> 
    <% end %> 

<!-- <div class="field", align="center"> 
    <%= f.label :Date %><br> 
    <%= f.text_field :Date %> 
    </div> --> 

    <div class="input", align="center"> 
    <%= f.label :Date %> 
<input id="Date" type="text" size="10" > 
<script> 
    $(function() { 
    $("#Date").datepicker({dateFormat: 'dd.mm.yy', defaultDate: new Date}); 
    $("#Date").datepicker("setDate", new Date); 
    }); 
    </script> 

</div> 

    <div class="field", align="center"> 
    <%= f.label :Workout %><br> 
    <%= f.text_field :Workout, size:"30x10" %> 
    </div> 

    <div class="actions", align="center"> 
    <%= f.submit "Submit a Workout" %> 
    </div> 
<% end %> 

這是我new.html.erb

<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %> 
    <%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %> 
<body> 
<h1>New Workout</h1> 
<p id ="new_one" ><%= render 'form', gym: @gym %> 
<p id ="new_two", align="center"><%= link_to 'Back', gyms_path, {:style => 'color:#FFF'} %> 
</body> 

這是顯示數據的index.html.erb。

<p id="notice"><%= notice %></p> 

<body bgcolor="#D6EAF8"> 

</body> 
<h1 align="center">Workouts</h1> 

<table cellpadding="10", align="center" > 
    <thead> 
    <tr > 
     <th>Date</th> 
     <th>Workout</th> 
     <th colspan="3"></th> 
    </tr> 
    </thead> 

    <tbody bgcolor= "#EBDEF0", align="center"> 
    <% @gyms.each do |gym| %> 
     <tr align="center"> 
     <td><%= gym.Date %></td> 
     <td><%= gym.Workout %></td> 
     <td><%= link_to 'Show', gym %></td> 
     <td><%= link_to 'Edit', edit_gym_path(gym) %></td> 
     <td><%= link_to 'Destroy', gym, method: :delete, data: { confirm: 'Are you sure?'} %></td> 
     </tr> 
    <% end %> 
    </tbody> 
</table> 

<br> 

<p id ="new_work", align="center"><%= link_to 'New Workout', new_gym_path, {:style => 'color:#FFF'}%> 

回答

1

當您使用表單輔助函數來創建text_field,軌道將與id爲MODEL_NAME _ FIELD_NAME

示例創建一個文本字段中輸入:當我的用戶創建形式

<%= form_for(user) do |f| %> 
    <%= f.text_field :name %> 
<% end %> 

Rails將創建一個文本字段:

<input type="text" id="user_name" name="user[name]"> 

出現添加日期選擇器:

$("#user_name").datepicker({dateFormat: 'dd.mm.yy', defaultDate: new Date}) 

通過另一種方式,你也可以創建自定義ID文本字段輸入:

<%= f.text_field :name, id: "my_input_id" %> 

而且

$("#my_input_id").datepicker({dateFormat: 'dd.mm.yy', defaultDate: new Date}) 

希望我能幫助。

+0

非常感謝你,我能夠解決我的問題與你的指示。 – Kuulme