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 %>

レコードを作成すると、重複するエントリが作成され、レコードが削除され、両方のエントリが削除されます。

コードの何が問題なのかわかりません。ガイドに従っただけです..

これは、レコードが複製される方法です

4

1 に答える 1