2011-12-04 45 views
4

我使用的形式助手check_box_tag和其他所有領域保持其輸入一個提交驗證錯誤之後,但check_box_tag沒有。有沒有辦法讓check_box_tag挽救一個失敗的形式提交一份關於其狀態?這裏的代碼:保留check_box_tag的狀態提交驗證錯誤

<%= check_box_tag 'user_ids[]', 
        user.id, 
        false, 
        :class => 'user_checkbox' %> 

我需要在這種情況下使用check_box_tag,而不是check_box。

回答

8

你傳遞false到所以所有的複選框被禁用。爲了解決這個問題,你可以做像水木清華:

<%= check_box_tag 'user_ids[]', 
        user.id, 
        params[:user_ids].include?(user.id), 
        :class => 'user_checkbox' %> 

它檢查user.id是否已提交的用戶ID之間以及如果當年複選框被選中。

+5

感謝,我不得不做出使它運轉的唯一變化是呼籲user.id to_s – tks