前提・実現したいこと
Railsを勉強し始めた初心者です。
現在Flatpickrを用いて、イベントの日付を登録できるボタンを作っているのですが、うまくいきません。
なお、日付は『event_date』というカラムを作成しております。
どのように書けばFlatPickrで選択した日付をevent_dateに追加できるか教えていただきたいです。
発生している問題・エラーメッセージ
ボタンおよびカレンダーは表示されるが、押しても日付がカラムに追加されず、nullとなっている。
日付以外の必要情報(ユーザID・イベントID)は問題なく追加されている。
該当のソースコード
Rails
1 2<%= form_for(item.events.build) do |f| %> 3 <div class="field"> 4 <%= hidden_field_tag :event_id, event.id %> 5 <%= f.text_field :event_date, id: 'flatpickr' %> 6 <div class="text-right"> 7 <%= button_tag(type: 'submit', class: "btn pressed text-right") do %> 8 <i class="fas fa-plus-circle"></i> 9 <% end %> 10 </div> 11 </div> 12<% end %>
###JS部分(追記)
<script> flatpickr('#flatpickr'); </script>
Controller
1class EventsController < ApplicationController 2 before_action :authenticate_user! 3 4 def create 5 @item = Item.find(params[:item_id]) 6 @item.event(current_user) 7 redirect_to controller: 'items', action: 'index' 8 end
試したこと
下記リンクの流れに沿って書き直したが、やはりnullのままだった
https://zeph.co/flatpickr-datetime.html
###追記
質問後、ご指摘を受け確認したところ『Flatpickrからevent_dateに値が渡せていない』ことが原因なのかと思いましたが…。
コンソールは以下のようになっております。
Event Create (0.6ms) INSERT INTO "events" ("user_id", "item_id", "created_at", "updated_at") VALUES (?, ?, ?, ?) [["user_id", 8], ["item_id", 1], ["created_at", "2019-03-23 14:15:43.300239"], ["updated_at", "2019-03-23 14:15:43.300239"]] ↳ app/models/item.rb:39
初心者ゆえに言葉足らず・知識不足な部分も多くあるかと思いますが、どなたかご助言いただければ幸いです。
あなたの回答
tips
プレビュー