为什么我的数据不会保存到 SQL?

Why my data won't save to SQL?

我对 Rails 上的 Ruby 很陌生。我只是玩弄它。实际上,我正在尝试创建一个带有标题和 Daterangepick (bootstrap) 的表单。

所以,到现在为止一切正常。但我有一个问题:我的数据没有保存在数据库中。每次我提交表单时,它都会创建一条新记录,自动插入 "created_at" 等。但是我的两个字段 "title" 和 "date" 每次都是空的...我真的不知道在哪里我的错是你们中有人可以帮助我吗?请给我一个解释的答案,因为我真的很想了解发生了什么。

这是我的代码(我正在使用 simple_form gem)

new.html.erb:

<%= simple_form_for @event do |f| %>
    <%= f.input_field :title, required: false %>
    <%= f.input :date, input_html: { class: "daterange" }, required: false %>
    <%= f.button :submit %>
<% end %>
<script type="text/javascript">
  $(document).ready(function() {
    $('input[class="string optional daterange"]').daterangepicker(
        {
          locale: {
            format: 'YYYY-MM-DD'
          },
          startDate: '2013-01-01',
          endDate: '2013-12-31'
        },
        function(start, end, label) {
          alert("A new date range was chosen: " + start.format('YYYY-MM-DD') + ' to ' + end.format('YYYY-MM-DD'));
        });
  });
</script>

events_controller.rb:

class EventsController < ApplicationController

  def index
    @event = Event.all
  end

  def show

  end

  def new
    @event = Event.new
  end

  def create
    @event = Event.new(event_params)

    if @event.save
      redirect_to @event
    else
      render 'new'
    end
  end

  private
  def event_params
    params.permit(:title, :date)

  end
end

我认为这应该足够了...当然,如果您愿意,我可以 post 更多我的代码,但我认为问题一定出在某个地方,因为一切正常...它路由罚款,我可以插入,它将我重定向到 /events/:id ...只是数据库一直为空。谢谢你的帮助!!!

您的参数需要 require

  def event_params
    params.require(:event).permit(:title, :date)
  end