我想讓引導日期時間選擇器與我的rails程序一起工作。下面是我使用的形式,它的使用simpleforms:Rails - 使用引導datetimepicker窗體,日期沒有到達控制器?
<%= simple_form_for(@event, html: {class: "form-horizontal"}) do |f| %>
<%= f.error_notification %>
<%= f.input :title %>
<script type="text/javascript">
$(function() {
$('#datetimepicker1').datetimepicker({
pickTime: false
});
});
</script>
<%= f.input :date, as: :custom %>
<%= f.input :description, as: :text, input_html: {rows: "5"} %>
<div class="form-actions">
<%= f.button :submit, class: "btn btn-primary" %>
</div>
<% end %>
這裏是:在simpleforms自定義
def input
text_field_options = input_html_options.dup
hidden_field_options = input_html_options.dup
text_field_options[:id] = "datetimepicker1"
text_field_options[:class] = 'input-append date form-horizontal'
text_field_options['data-date-format'] = I18n.t('date.datepicker')
hidden_field_options[:id] = "#{attribute_name}_hidden"
return_string =
"#{@builder.text_field(attribute_name, text_field_options)}\n" +
"#{@builder.hidden_field(attribute_name, hidden_field_options)}\n"
return_string = '<div id="datetimepicker1" class="input-append date form-horizontal">
<input data-format="MM/dd/yyyy" type="text">
<span class="add-on">
<i data-time-icon="icon-time" data-date-icon="icon-calendar" class="icon-calendar">
</i>
</span>
' 回報return_string.html_safe 結束
在我的活動控制器,我有這個命令來記錄事件的值。
Rails.logger.info ("debug:" + @event.to_yaml)
當我跑的形式來創建一個事件,並檢查日誌,這是我所看到的:
debug:--- !ruby/object:Event
屬性: ID: 標題:迅速莎莎我:斯塔基我莎莎 描述 位置: 日期: attendance_type: GROUP_SIZE: created_at: 的updated_at: USER_ID:1
標題+描述通過罰款,但日期:是空白的。任何建議你可能會非常感激,我對此很新,而且我正在爲此掙扎大約2天,我最近纔想到如何做日誌記錄,這讓我可以在這裏找到它。謝謝。
啊原因它通過隱藏的領域?有什麼地方可以閱讀嗎?我不知道我需要一個隱藏字段才能發佈數據? (對不起,如果這是真的基本) – 2013-05-02 13:43:30
沒問題!當您提交表單時,輸入值是發送回服務器的值。在rails的情況下,如果你的輸入具有「name」屬性:「foo [name]」,那麼在你的控制器中,這個值將在params [:foo] [:name]下(你的參數看起來像{foo:{name: 「一個值」}})。你應該閱讀你的jQuery插件是如何使用的。通常,它應該提供一種方法將日期選擇器分配給輸入,並且所有額外的div/hidden等東西都應該自動完成,而不需要額外的努力。 – 2013-05-02 13:50:56
嗯,這是很好的瞭解有關參數,和名稱屬性。這是[datepicker](http://tarruda.github.io/bootstrap-datetimepicker/)網站。我在想,底層的API部分可能就是你所說的。我不明白它,因此試圖將html合併到simpleforms框架中。我可以使用該API部分創建表單嗎?也似乎沒有他們的例子使用隱藏的形式? – 2013-05-02 14:07:18