Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 创建重复记录的Rails_Ruby On Rails_Model_Duplicates_Record_Associated Object - Fatal编程技术网

Ruby on 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

我正在努力学习使用rails。我在跟踪 我添加了关联的模型。但是当我创建新事件时,它也会复制它

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
怎么样。