2016-09-22 8 views
1

Я совершенно новый для Ruby on Rails. Я просто буду играть с ним. На самом деле, я пытаюсь создать форму с заголовком и Daterangepick (bootstrap).Почему мои данные не сохраняются в SQL?

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

Вот мой код (я использую 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 ... только база данных se остается пустым. Спасибо за помощь !!!

ответ

2

Вы должны require в ваших Params:

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

Благодарности мужчины !!! Это решило мою проблему! Но действительно странно ... я клянусь 2 часа назад у меня было это с этим .require именно так, как вы написали это сейчас ... и я получил ошибку. Теперь это работает. К сожалению, я не знаю, что я изменил за последние два часа ... Но неважно, спасибо в любом случае! – Twinfriends

 Смежные вопросы

  • Нет связанных вопросов^_^