2013-10-09 3 views
0

사용자가 선택할 수있는 모든 사용 가능한 개체를 사용할 때 두 가지 상황이 있습니다.Formhelpers Checked = 체크/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