2013-10-21 2 views
0

상태 이름이 채워진이 선택 드롭 다운 입력 필드가 있는지 확인하십시오.집합 : variableX를 기반으로 선택한 값 - 또는 - variableX가 nil 인 경우 사용자가 제출 한 값

이 값이 nil이 아닌 경우 선택한 값을 @ state.id의 내용으로 설정하려고합니다. 이미 선택된 옵션이있는 경우 대신 그 옵션을 선택하고 싶습니다.

이 작업을 어떻게 올바르게 수행 할 수 있습니까? 나는 모든 것을 실패한 여러 가지 해결책을 시도했다. 지금 사용하고있는 최신 코드 예제 :

= p.input :state, 
       :collection => ["State1","State2"] 
       :selected => (@state.id.to_s rescue nil) || (params[:state] rescue nil), 
       :id => "state", 
       :name => "state", 
       :prompt => t('forms.choose') 
+0

''collection => [ "State1", "State2"}'나는 당신의 질문을 이해하지 못했습니다. 이 선택을 다른 입력에 따라 선택하거나 개체의 alredy selected 옵션을 기반으로 선택 하시겠습니까? –

+0

고정 오타이 값이 nil이 아닌 경우 선택한 값을 @ state.id의 내용으로 설정하려고합니다. 이미 선택된 옵션이있는 경우 대신 그 옵션을 선택하고 싶습니다. – Rubytastic

+0

또 다른 유형이 있습니다 :) 컬렉션 배열 뒤에 쉼표가 없습니다. 오류가 있습니까? 아니면 그냥 잘못된 값을 묻는거야? 제 대답을보세요. –

답변

0

문제는 : 선택한 옵션이 두 값을 기반으로 작동한다는 것이다.

  1. 컬렉션 배열의 요소의 인덱스, 또는
  2. 값 자체
그래서 당신이 마지막 옵션을 선택하려는 말할 수

, 당신의 경우에 당신이 필요합니다 :

:selected => 1 

또는

:selected => "State2" 

도움이되기를 바랍니다.