Database 无法删除不在表中的Nil数据

Database 无法删除不在表中的Nil数据,database,ruby-on-rails-3,rails-activerecord,Database,Ruby On Rails 3,Rails Activerecord,我对RubyonRails比较陌生,在Rails3和MacOSX8中构建基本应用程序 我在视图中的每个循环迭代中遇到了一个额外的空白数据集,如下所示: <% @exercise.instruction_types.each do |instruction_type| %> <li><a href="#tab<%= instruction_type.id %>" data-toggle="tab"><%= instruc

我对RubyonRails比较陌生,在Rails3和MacOSX8中构建基本应用程序

我在视图中的每个循环迭代中遇到了一个额外的空白数据集,如下所示:

<% @exercise.instruction_types.each do |instruction_type| %>
            <li><a href="#tab<%= instruction_type.id %>" data-toggle="tab"><%= instruction_order %>. <%= instruction_type.name %></a></li>
            <% instruction_order = instruction_order + 1 %>
<% end %>
经过一些研究和下面的建议 我在这个实例中添加了放置在my view.html.erb中的变量检查

<%= @exercise.instruction_types.inspect %>

渲染视图输出

[#<InstructionType id: 1, name: "Content", created_at: "2013-06-03 03:11:56", updated_at:     "2013-06-03 03:11:56">,...
<InstructionType id: nil, name: nil, created_at: nil, updated_at: nil>}
[#,。。。
}

我想知道nil数据是如何创建的,我将来如何防止它,以及我现在如何删除它。

如果您的
播放
操作不应该构建新的
指令类型
(这是我从评论中收集的),只需删除
.build
调用。如果是,请确保在
指令类型
上调用
.save

@练习。指令类型。build
创建一个空的关联实例,该实例尚未持久化到数据库感谢快速响应phoet。我也在谷歌上搜索了如何处理该问题,但我没有我还没弄明白,你能进一步指示吗?我是否想以某种方式删除它,将它保存到数据库中?如何使它停止出现在我的每个循环中?我想我的后续问题是,除了控制器中的@exercise.instruction\u type.build命令之外,还有其他方法可以访问我练习视图中的指令类型数据吗?
<%= @exercise.instruction_types.inspect %>
[#<InstructionType id: 1, name: "Content", created_at: "2013-06-03 03:11:56", updated_at:     "2013-06-03 03:11:56">,...
<InstructionType id: nil, name: nil, created_at: nil, updated_at: nil>}