在创建事务时过滤掉不必要的fields_for记录

时间:2014-12-08 07:44:10

标签: ruby-on-rails-4 transactions fields-for

这个问题与几个月前我问过的问题有关:Simple_Fields_For: Multiple Blank Lines on a Form

因为我需要在带有标题的表单上创建一些空白日记帐行,然后我在其中创建了几个记录:日记标题和许多日记帐行。问题得到了回答,我得到了它的工作。

但是,我有一个跟进问题:

我最终构建了比所需更多的空白日记帐行,因此表单中有足够的空间供用户添加行。然而,当我执行创作时,我最终得到了几个空白'如果没有填写所有行,表格中的条目。

是否有一种Railsy方法可以过滤掉这些行,以便在创建事务时忽略它们?

我想我可以预处理参数,或者一次一行地添加一行,但是我更喜欢Rails更合适的方法。有吗?

1 个答案:

答案 0 :(得分:1)

我想你想在渲染fields_for时从你的收藏中过滤掉一些东西。

fields_for接受第二个参数,其中包含集合中的元素。默认情况下,传递整个集合,或者您可以通过提供过滤条件来覆盖。

<%= f.fields_for :journal_lines,@journal.journal_lines.present? do |jl| %>

<% end %>

希望将来有人帮助其他人。