2017-10-12 6 views
3

확인란과 라디오 버튼이있는 필드가 많은 양식이 있습니다. 나는 그들 각각에 "기타"옵션을 추가하고 싶다. 이제 사용자가 다른 옵션을 클릭하면 나중에 사용할 수 있도록 데이터베이스에 저장해야하는 새 옵션을 추가 할 수 있어야합니다. 나는이 질문이 사전에 도움 또한 다른 사람들 덕분에 도움이 될 수있는 희망레일 선택/라디오 버튼/체크 박스에 새 옵션 추가

<label> Goals: </label><br> 
<%= f.collection_check_boxes :goal_id, Admin::Goal.all, :id, :title, checked: @assessment.goal_id, :include_hidden => false do |b| %> 
    <%= b.label class:"label-checkbox" do %> 
    <%= b.check_box + b.text%> 
    <% end %> 
<% end %> 

:

여기에 내 현재 코드입니다. :

+0

내 솔루션을 확인하십시오. – krishnar

답변

2

는 U 내가 other_option 배열과 목표 수집 배열을 병합 여기

  • 뭐하는 거지이

    <% other_options = [{id: "other",title: "other"}] %> 
    
    <label> Goals: </label><br> 
    <%= f.collection_check_boxes :goal_id, Admin::Goal.all + other_options, lambda{|a|a["id"]}, lambda{|a|a["title"], checked: @assessment.goal_id, :include_hidden => false do |b| %> 
        <%= b.label class:"label-checkbox" do %> 
        <%= b.check_box + b.object[:title]%> 
        <% end %> 
    <% end %> 
    

    같은 collection_check_box을 사용자 정의 할 필요가있다.

  • 다른 배열은 관계가 아닙니다. 따라서 id, 제목을 가져 오는 방법을 수정해야합니다. 따라서 동일한 액세스에 람다를 사용하고 있습니다.
  • 목표 만 사용하는 경우 b.text가 작동합니다. 사용자 정의 해시 즉 other_option 배열을 사용하고 있으므로 값을 b.object로 액세스 한 다음 title에 액세스해야합니다.이 둘 모두에 사용할 수 있습니다.
+0

고마워요. 정확하게 원했던 것입니다. :) – Vishal