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

时间:2016-09-22 11:37:06

标签: ruby-on-rails ruby simple-form daterangepicker

我对Ruby on Rails很新。我会玩弄它。实际上,我正在尝试创建一个带有标题和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

我认为这应该足够......我确定如果你愿意我可以发布更多我的代码,但我认为问题必须在某处,因为一切正常......它会路由罚款,我可以插入,它将我重定向到/ events /:id ...只是数据库保持空白。谢谢你的帮助!!!

1 个答案:

答案 0 :(得分:2)

你的参数需要require

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