2012-03-26 3 views
0

Как сохранить состояния флажка с помощью сеанса?Ruby on Rails: Preserve Checkbox States in html.erb

Я пробовал следующее, но не работал.

<form name="size"> 
    <input type="checkbox" name="size[]" value="1" <%@selected.include?("1")%> /> 1 
    <input type="checkbox" name="size[]" value="2" <%@selected.include?("2")%> /> 2 
    <input type="checkbox" name="size[]" value="3" <%@selected.include?("3")%> /> 3 
    <input type="submit" value="Filter" /><br></form> 

@selected - это переменная экземпляра в контроллере, в которой хранятся состояния флажка с использованием сеанса.

ответ

2

Предполагая @selected является массив, то как я могу сделать вывод из вашего примера кода, вы можете сделать

<input type="checkbox" name="size[]" value="1" <%= @selected.include?("1") ? "checked" : "" %> /> 1 
<input type="checkbox" name="size[]" value="2" <%= @selected.include?("2") ? "checked" : "" %> /> 2 
<input type="checkbox" name="size[]" value="3" <%= @selected.include?("3") ? "checked" : "" %> /> 3