2014-02-26 53 views
0

我已經有了一個帶有check_box_tags的表單。其中一些複選框不屬於模型,需要從params散列中刪除。我知道我可以使用排除方法,但問題是這些字段具有我無法預先知道的動態ID。添加從params散列中排除的表單輸入

我的問題是:

有沒有排除一個表單域,因此不會在第一時間進入params哈希表的方法嗎?

非常感謝! Uri

+0

ü將不得不把它的形式,使他們arent在的背景下提交該表單所屬的對象。無論如何,像複選框,單選按鈕,文本字段,區域的輸入字段將被提交。或者,你可以添加一個公共類到這些字段,並使用排除刪除它們。 –

+0

你在使用Rails 4嗎?因爲使用[strong parameters](http://guides.rubyonrails.org/action_controller_overview.html#strong-parameters),您可以爲params散列創建屬性白名單。不在白名單上的所有內容都將從哈希中刪除。 – zwippie

回答

0

無論何時向控制器提交表單並且輸入字段都有名稱,這些K:V對將被添加到params請求中,假設它們是由強參數列出的白色(僅限於rails4)。你最好的選擇是使用JavaScript。像這樣的篩選基於類,數據ATTR,或任何其他參數這些領域,你想通過篩選:

$('.new_resource_form').onSubmit(function(e) { 
    e.preventDefault(); 
    $('.fields_for_removal').remove(); 
    $(this).submit(); 
});