1

最近、pickadate gem を接続しました。今、私は次のように_form見えます:

<%= form_for(@event, :html => {:class => 'form-horizontal'}) do |f| %>
<%= render('error_message') %>

<div class="field form-group">
  <%= f.label :name %>
  <%= f.text_field :name, class: "form-control" %>
</div>

<div class="field form-group">
  <%= f.label :start_time %>
  <%= f.text_field :start_time, class: "datepicker form-control"%>
</div>

<div class="actions">
  <%= f.submit 'Save', class: "btn btn-success" %>
</div>
<% end %>

<script type="text/javascript">
    $('.datepicker').pickadate({
        //customization
    })
</script>

ここにあるnew.html.erb

<% provide(:title, t('new_event_title')) %>

<h1><%= t('new_event_h1') %></h1>

<%= render 'form' %>

ご覧のとおり、モデルには(文字列型) と(日時型)のEvent2 つのパラメーターがあります。これが私の方法です:namestart_timecreateevent_params

def create
    @event = Event.new(event_params)
    redirect_to events_path
end

def event_params
    params.require(:event).permit(:name, :start_time)
end

しかし、「保存」ボタンをクリックすると、次のエラーが発生しました。

ActionController::ParameterMissing in EventsController#create
    param is missing or the value is empty: event

サーバーログは次のとおりです。

Started POST "/events" for ::1 at 2016-03-07 15:23:08 +0300
Processing by EventsController#create as HTML
Can't verify CSRF token authenticity
{"controller"=>"events", "action"=>"create"}
Completed 400 Bad Request in 2ms (ActiveRecord: 0.0ms)

私のレンダリングされた _form:

<form class="form-horizontal" id="new_event" action="/events" accept-charset="UTF-8" method="post"><input name="utf8" type="hidden" value="&#x2713;" /><input type="hidden" name="authenticity_token" value="jvg+<...>Q==" />


<div class="field form-group">
  <label for="event_name">Name</label><br>
  <input class="form-control" type="text" name="event[name]" id="event_name" />
</div>

<div class="field form-group">
  <label for="event_start_time">Start time</label><br>
  <input class="datepicker form-control" type="text" name="event[start_time]" id="event_start_time" />
</div>

<div class="actions">
  <input type="submit" name="commit" value="Save" class="btn btn-success" />
</div>
</form>

フォームに何か問題があると思います。何か案は?前もって感謝します!

4

0 に答える 0