우리는 Rails 3.2.13에서 Rails 4.0.13으로 마이그레이션 중입니다.grouped_collection_select - group_method가 Rails 3에서 4로 변경됩니다.
중첩을 위해 레일 도우미 grouped_collection_select
을 사용합니다.
레일즈 3.2.13에서 4.0.2로 변경된 소스가 있습니다. 방법의
http://apidock.com/rails/v4.0.2/ActionView/Helpers/FormOptionsHelper/grouped_collection_select
우리의 사용은 현재 작동하지 않습니다. 여기
우리의 코드 :
ActionView::Template::Error (undefined method `active_locations(7)' for #<ParticipatingBusiness:0x005583478f1f90>):
지금은 그들이 어떻게 방법 GET의 보낸을 변경 한 것이 분명 : 여기
<%= f.grouped_collection_select :location_id, @participating_businesses, :"active_locations(#{current_user.id})", :name, :id, :name, {prompt: t('.prompt_select_location')}, class: 'location-selector form-control' %>
는 오류입니다.
저는 현재 group_method
옵션을 잡고 이것을 위의 오류를 설명하는 send(:group_method)
에 직접 입력하고 있다고 생각합니다.
그러나 어떻게 세션 (별칭 : current_user)에 의존하는 내 group_method
에 인수를 전달할 수 있습니까?
출처를 보면, 나는 그것이 가능하다고 생각하지 않습니다.
나는 헬퍼하지 않고, 다시 쓰는 우리의 목표로 작업이을에보고하거나 조금 더 설명서를해야 하는가?같은 문제가있는 사람이 있습니까?
당신이 그냥 보내 직접'group_method' 변수를 전달 알고 감안할 때 당신이'사용하여 시도하는 경우 [: active_locations을 current_user.id]'대신? –
그것은 꽤 영리한 수정이지만, 나는 이미 시도하고'ActionView :: Template :: Error ([: active_locations, 7]은 심볼이 아닙니다.)'를 얻었습니다. – fbelanger
darn :/그냥 Just Worked ...라면 좋았을 것입니다. 레일즈에 feature-request를해야 할 수도 있습니다. 보통'collection_for_select'가'Proc'를 취할 수있는 것처럼 보이지만'grouped' 버전이 똑같은 방식으로 작동하지 않는다는 것을 보았습니다. –