2014-12-08 29 views
1

這個問題是關係到一個,當我問一個幾個月前:Simple_Fields_For: Multiple Blank Lines on a Form過濾掉不必要的fields_for記錄創建事務

在,我需要在頭創建的窗體上的一些空白日記線然後我創建了幾個記錄:日誌標題和一些日誌行。問題得到了回答,我得到了它的工作。

不過,我有一個跟進的問題:

我結束了建造更多的空白日記帳行比必要的,以便有足夠的空間形式爲用戶添加行。但是,當我執行創建時,如果不是所有行都被填充,我最終會在表中填入幾個「空白」條目。

是否有Railsy的方式來過濾掉這些行,以便在創建事務時忽略它們?

我想我可以預先處理PARAMS,或者一次一行地添加一行代碼,但我寧願選擇更適合Rails的方法。有一個嗎?

回答

1

我想你想在呈現你的fields_for的時候從你的集合中過濾掉一些東西。

fields_for接受包含集合中元素的第二個參數。默認情況下,整個集合已通過,或者您可以通過提供過濾條件進行覆蓋。

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

<% end %> 

希望這有助於未來的其他人。

+0

感謝prasann,但它是相反的。如果我在表單上有許多'空白'行,當我創建記錄時,它會爲表單中的每一行(包括空白行)向數據庫添加一條記錄。我只需要爲輸入數據的行添加記錄。 – 2015-09-29 00:45:38