0
< <我手動創建我需要的HTML表單,他們成功地工作,這樣你就可以忽略這個>>強制日期時間的形式是在一個小時(關閉)
我已經創建了一個表單要求用戶提交日期時間變量。由於它是用於安排課程,它必須在一小時(下午1:00,3:00,中午12:00等)。爲了使系統萬無一失,我隱藏了除小時以外的所有字段,並添加了一個虛擬分鐘下拉菜單,只允許他們選擇「0分鐘」選項。
但是,我試過幾種方法來強制分鐘是在小時(begin_of_day,beginning_of_hour,at_midday等和.change如下所示),但不管默認日期仍然是現在的時間。
<script language="javascript">
function toggle(eID) {
var ele = document.getElementById(eID);
if(ele.style.display == "block") {
ele.style.display = "none";
}
else {
ele.style.display = "block";
text.innerHTML = "hide";
}
}
</script>
<%= month_calendar events: @lessons, previous_link: events_ajax_previous_link, next_link: events_ajax_next_link do |date, events| %>
<% @formatteddate = date.strftime('%Y-%m-%d') %>
<button type="button" class="btn btn-default"
onclick="toggle('<%= @formatteddate.to_s%>');return false;">
<%= date.strftime("#{date.day.ordinalize}") %>
</button></br>
<span id='<%= @formatteddate.to_s%>' class="lesson-submit">
Add New Lesson Slot (Perth time is used)
<%= form_for(Lesson.new) do |f| %>
<div class="field">
<%= f.label :starts_at %><br>
<%= f.datetime_select :starts_at, :value => date.at_midday, :discard_year => true, :discard_day => true, :discard_month => true %>
<select><option value="00">00</option></select>
</div>
<div class="field">
<%= f.hidden_field :teacher_id, :value => current_user.id %>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
</span>
<% end %>
你能說明爲什麼,因爲我喜歡默認的時間沒有被操縱,這是(一般),以強制用戶只能挑一個小時以合適的方式?
乾杯!
不知道如何在我的表單中使用它,但'beginning_of_hour'在我保存之前在控制器中工作...我感興趣的是它爲什麼不能在我的表單中工作。感謝您的想法! – Lyleator