2017-03-05 70 views
1

嗨,我是一名紅寶石軌道的學生。我正在嘗試創建一些內容以保存到我的數據庫中。我無法讓它工作。事件控制器不保存到數據庫

這裏是我的表單頁面:

<h1>Create your Event</h1> 

<%= form_for @event do |f| %> 

<div> 
<%= f.label :name %>: 
<%= f.text_field :name %><br /> 
</div> 
<div> 
<%= f.label :description %>: 
<%= f.text_field :description %><br /> 
</div> 
<div> 
<%= f.label :location %>: 
<%= f.text_field :location %><br /> 
</div> 
<div> 
    <div class="field"> 
    <%= f.label :date%> 
    <%= f.date_select :date, 
     { order: [:month, :day, :year], 
      prompt: [ day: 'Select day', month: 'Select month', year: 'Select year' ]} %> 
    </div> 

<br> 
<%= f.submit %> 
<% end %> 

這裏是我的控制器:

class EventsController < ApplicationController 

    def index 
    @events = Event.all 
    end 

    def show 
    @event = Event.find(params[:id]) 
    end 

    def new 
    @event = Event.new 

    end 

    def create 
    @event = Event.new(event_params) 
    if @event.save 
     redirect_to event_index 
    else 
     render 'new' 
     flash[:notice] = "Event not saved" 
    end 

當我點擊創建活動按鈕它不會做任何事情。

我的架構

create_table "events", force: :cascade do |t| 
t.string "name" 
t.string "description" 
t.date  "date" 
t.string "location" 
t.datetime "created_at", null: false 
t.datetime "updated_at", null: false 
end 

在軌控制檯,我可以看到這一點:

IRB(主要):001:0> Event.all 事件Load(4.9ms)選擇「事件」。* FROM 「事件」 =># IRB(主):002:0>

+0

將您的event_params發佈到您的控制器中是個好主意,如果問題的根源是... – Ren

+0

也包含操作日誌... – 7urkm3n

回答

0

幾件事情:

使用@event.save!。如果無法創建記錄,則!將引發有用的錯誤。

而且看起來您的控制器中沒有您的event_params定義。

另外,您的事件模型是什麼樣的?任何驗證?

+0

我的事件模型沒有驗證,我有控制器中定義的event_params我只是沒有顯示它的問題。 – caprison

+0

您是否嘗試過保存操作? –

+0

我應該在哪裏使用它? – caprison

相關問題