2015-07-07 4 views
1

Ruby On Rails 4.2.1 В представлении Делают флажки, как это:Rails формы помощник флажка всегда проверяется, даже если {проверен: ложь}

<%= check_box_tag('roles[' + role.name + '][' + perm.name + ']', 1, {checked: role.permissions.include?(perm)}) %> 

Но это делает клетчатый флажок каждый раз, даже когда role.permissions.include?(perm) возвращает false

Я поставил debugger на вид и дважды проверил это. внутри вида, когда я положил в консоль отладки это:

check_box_tag('test', 1, {checked: false}) 

Out приходит это:

"<input type=\"checkbox\" name=\"test\" id=\"test\" value=\"1\" checked=\"checked\" />" 

Является ли это ошибка в Rails образуют хелперов или я что-то отсутствует?

ответ

1

Вы должны использовать check_box_tag как:

check_box_tag('test', 1, false, {}) 

чтения документации:

check_box_tag(name, value = "1", checked = false, options = {}) 

Третий аргумент должен быть логический, но вы передаете хэш, который всегда возвращает true.

Смежные вопросы