Ruby on rails 创建重复记录的Rails
我正在努力学习使用rails。我在跟踪 我添加了关联的模型。但是当我创建新事件时,它也会复制它Ruby on rails 创建重复记录的Rails,ruby-on-rails,model,duplicates,record,associated-object,Ruby On Rails,Model,Duplicates,Record,Associated Object,我正在努力学习使用rails。我在跟踪 我添加了关联的模型。但是当我创建新事件时,它也会复制它 class EventsController < ApplicationController def create @category = Category.find(params[:category_id]) @event = @category.events.create(event_params) redirect_to category_path(@categ
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
class事件
以下是我用于将事件保存在特定类别中的表单:
<%= 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 %>
标题:
文本:
事件
添加事件
问题是当我创建记录时,它会创建重复的条目和
删除记录它删除两个条目
我想不出我的代码出了什么问题。我只是跟着导游走
好的,我发现了问题所在。它是_event.html.erb中的一行,它正在创建重复的视图。 谢谢大家的帮助
<% @category.events.each do |event| %>
<p>
<strong>Event Name:</strong>
<%= event.name %>
</p>
<p>
<strong>Genus:</strong>
<%= event.genus %>
</p>
<p>
<strong>Description:</strong>
<%= event.description %>
</p>
<p>
<%= link_to 'Destroy Event', [event.category, event], method: :delete, data: {confirm: 'Are you sure?'} %>
</p>
<% end >
事件名称:
属:
说明:
应该是这样的:
<p>
<strong>Event Name:</strong>
<%= event.name %>
</p>
<p>
<strong>Genus:</strong>
<%= event.genus %>
</p>
<p>
<strong>Description:</strong>
<%= event.description %>
</p>
<p>
<%= link_to 'Destroy Event', [event.category, event], method: :delete, data: {confirm: 'Are you sure?'} %>
</p>
事件名称:
属:
说明:
我的理解是,当重定向到此页面时。
它两次查询数据
如果我不对,请纠正我好吗
但我不明白为什么会生成重复记录?复制了什么密钥?事件id?那么,什么是形式上的
?也许,:name
是正确的,而不是:event
。如果是这样,您应该更改def event_param
如下:`params.require(:event).permit(:name,:genus,:description)`。您还需要一个类别模型,上面写着:has_many:events@ljnissen我有:)@shoji整个条目是重复的。我已经附上了截图。@RyanCyrus谢谢你的截图。从
调用的\u event.html.erb
怎么样。