2013-10-09 2 views
0

У меня две ситуации, когда я использую все доступные объекты, в которых пользователь может выбрать.Formhelpers Checked = checked/Selected = selected при редактировании

В первой ситуации пользователь может выбрать 1 пиктограмму из всего списка для активности.

Вторая ситуация заключается в том, что пользователь может выбирать несколько клиентов для активности.

В обоих случаях я не могу сохранить сохраненные для проверки/выбора, когда я пытаюсь отредактировать действие. Есть ли способ сделать это?

<div class="pictograms"> 
     <% for p in Pictogram.all %> 
     <%= radio_button_tag "activity[pictogram_id]", p.id %> 
     <%= label_tag(:pictogram_id, image_tag(p.url, :width => "75")) %> 
     <% end %> 
    </div> 
    <div class="clients"> 
    <% for client in Client.all %> 
     <label class="activity"> 
     <%= check_box_tag "activity[client_ids][]", client.id %> 
     <%= client.name %> 
     </label> 
    <% end %> 
    </div> 

ответ

1

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

view: 
<% for p in Pictogram.all %> 
    <%= radio_button_tag "activity[pictogram_id]", p.id, pictogram_is_true?(p) %> 
<% end %> 

<% for client in Client.all %> 
    <%= check_box_tag "activity[client_ids][]", client.id, client_is_true?(client) %> 
<% end %> 

helper: 
def pictogram_is_true?(p) 
    // query here and return true or false 
end 

def client_is_true?(client) 
    // query here and return true or false 
end