Почему мои данные не сохраняются в SQL?

Я новичок в Ruby on Rails. Я просто поиграю с этим. На самом деле я пытаюсь создать форму с заголовком и Daterangepick (bootstrap).

Итак, до сих пор все работает нормально. Но у меня есть одна проблема: мои данные не сохраняются в базе данных. Каждый раз, когда я отправляю форму, она создает новую запись, автоматически вставляет «created_at» и т. Д. Но мои два поля «title» и «date» каждый раз пусты ... Я действительно не знаю, в чем моя вина. Кто-нибудь из вас может мне помочь? Пожалуйста, дайте мне ответ с объяснением, потому что я действительно пытаюсь понять, что происходит.

Вот мой код (я использую гем simple_form)

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 ... просто база данных пуста. Спасибо за помощь !!!


person Twinfriends    schedule 22.09.2016    source источник


Ответы (1)


Вам нужно require в ваших параметрах:

  def event_params
    params.require(:event).permit(:title, :date)
  end
person Bartłomiej Gładys    schedule 22.09.2016
comment
Спасибо, мужики !!! Это решило мою проблему! Но действительно странно ... Клянусь, 2 часа назад у меня было это с этим. Требовать именно так, как вы написали сейчас ... и я получил ошибку. Теперь это работает. К сожалению, я не знаю, что я изменил за последние два часа ... Но неважно, все равно спасибо! - person Twinfriends; 22.09.2016