在我已經使用Bootstrap 3的Rails 4應用程序中,我剛添加了Datetimepicker by eonasdan。Rails 4 x Bootstrap 3 Datetimepicker:用datetimepicker替換默認的datetime_select
這裏是我的設置:
的Gemfile
gem 'momentjs-rails'
gem 'bootstrap3-datetimepicker-rails'
的application.js
//= require jquery
//= require jquery.turbolinks
//= require jquery_ujs
//= require bootstrap
//= require bootstrap/dropdown
//= require moment
//= require bootstrap-datetimepicker
//= require turbolinks
//= require_tree .
application.scss
@import "bootstrap-sprockets";
@import "bootstrap";
@import 'bootstrap/theme';
@import 'bootstrap-datetimepicker';
@import "font-awesome-sprockets";
@import "font-awesome";
@import "simple_calendar";
@import "custom.scss";
@import "custom/**/*"
而且我也已經重新啓動我的服務器。
現在,我想使用這個插件在我Posts#New
和Posts#Edit
意見形成,以取代目前的datetime_select
領域:
<div class="field">
<%= f.label :date, "DATE" %>
<%= f.datetime_select :date %>
</div>
這是我是我的第一次嘗試後,其中:
<div class="form-group">
<div class='input-group date' id='datetimepicker'>
<%= f.label :date, "DATE & TIME" %>
<%= f.text_field :date, :class => "form-control"%>
<span class="input-group-addon">
<span class="glyphicon glyphicon-calendar"></span>
</span>
</div>
<script type="text/javascript">
$(function() {
$('#datetimepicker').datetimepicker();
});
</script>
</div>
這給了我在視圖中的以下元素:
雖然設計遠非完美,但現在,這不是我所關心的。
真正的問題是,當我建立訊息中,date
屬性(其爲datetime
數據類型)設定爲nil
,而不是在datetimepicker
選擇的值。
我在網上找過類似的情況,最近找到的是this Stack Overflow question。
不幸的是,它基於苗條的形式,我不知道如何將它們「翻譯」爲常規形式,以用於erb.html
文件。
任何有關我的代碼出了什麼問題的想法?
-----
更新:我發現,實際上是保存時的職位是創建日期到數據庫的方式:
<div class="form-group" id="post_date_time">
<%= f.label :date, "DATE & TIME" %>
<div class='input-group date' id='datetimepicker'>
<%= f.text_field :date, :class => "form-control"%>
<span class="input-group-addon">
<span class="glyphicon glyphicon-calendar"></span>
</span>
</div>
</div>
<script type="text/javascript">
$(function() {
$('#datetimepicker').datetimepicker();
});
</script>
但是,它似乎並不在編輯表單上正常工作,因爲我沒有得到datetimepicker填充帖子的日期。我在這裏錯過了什麼嗎?
-----
在你的chrome dev控制檯什麼是傳回給你的控制器的參數?我想你會發現它不是發送'日期',而是'starts_at'之一。 – DustinFisher
對不起,如果這是一個愚蠢的回覆......但我似乎無法看到我的開發控制檯中的任何東西。我打開它,創建了一個帖子,沒有出現任何內容。我做對了嗎?另外,爲什麼你說我應該看到'starts_at',而我的代碼中沒有這個字符串?非常感謝您的幫助;) –
如果您打開chrome開發工具並在您的表單上點擊提交時轉到「網絡」選項卡,您應該會看到一篇文章給您的控制器,您可以在其中看到詳細信息。或者你可以在你的控制器上放置一個調試器,並在它輸入時檢查參數。我說因爲我實際上有類似的問題,那就是我發現的。不知道爲什麼,但這不是我期待的那個領域。 – DustinFisher