2
我想學習使用rails。我正在關注http://guides.rubyonrails.org/getting_started.html 我添加了關聯的模型。但是當我創建新的事件..它也複製它。導軌創建重複記錄
class EventsController < ApplicationController
def create
@category = Category.find(params[:category_id])
@event = @category.events.create(event_params)
redirect_to category_path(@category)
end
def destroy
@category = Category.find(params[:category_id])
@event = @category.events.find(params[:id])
@event.destroy
redirect_to category_path(@category)
end
private
def event_params
params.require(:event).permit(:event, :genus, :description)
end
末
這裏是模型:
class Event < ActiveRecord::Base
belongs_to :category
end
這裏是我用來保存事件的特定類別的形式:
<%= form_for ([@category, @category.events.build]) do |f| %>
<p>
<%= f.label :name %><br>
<%= f.text_field :event %>
</p>
<p>
<%= f.label :genus %><br>
<%= f.text_field :genus %>
</p>
<p>
<%= f.label :description %><br>
<%= f.text_area :description %>
</p>
<p>
<%= f.submit %>
</p>
這是顯示檢視碼:
<p>
<strong>Title:</strong>
<%= @category.name %>
</p>
<p>
<strong>Text:</strong>
<%= @category.key %>
</p>
<h2>Events</h2>
<%= render @category.events %>
<h2>
Add Event
</h2>
<%= render 'events/form' %>
<%= link_to 'Back', categories_path %>
事情是當我創建記錄..它創建重複條目和 刪除記錄它刪除這兩個條目。
我無法弄清楚我的代碼有什麼問題。我只是跟着指導..
重複鍵是什麼?事件ID?而且,在表單中的「<%= f.text_field:event%>」是什麼?也許'':''是正確的':event'。如果是這樣,你應該改變'def event_param'如下:'params.require(:event).permit(:name,:genus,:description)'。 – shoji 2015-02-05 13:52:34
你還需要一個類別模型,說:has_many:events – ljnissen 2015-02-05 14:08:52
@ljnissen我有它:) – 2015-02-05 14:29:46