2014-01-22 1 views
0

사용자 선택을 options_for_select에 집어 넣으려고합니다.선택에 대한 옵션, 선택된 값에 고정하십시오.

는 Heres는 내 코드 :

<div class="form-group"> 
    <%= f.label :team_for, "I'm for" %> <br> 
    <%= f.select :team_for, options_for_select(User::TEAMFOR), :prompt => "Please Select" %> 
</div> 

어떻게이 설정할 수 있습니다?

내 HTML 출력 :

<div class="form-group"> 
    <label for="user_team_for">I'm for</label> <br> 
    <select id="user_team_for" name="user[team_for]"> 

    <option value="">Please Select</option> 
    <option value="Team Druid">Team 1</option> 
    <option value="Team Hunter">Team 2</option> 
    <option value="Team Mage">Team 3</option> 
    <option value="Team Paladin">Team 4</option> 
    <option value="Team Priest">Team 5</option> 
    <option value="Team Rogue">Team 6</option> 
    <option value="Team Shaman">Team 7</option> 
    <option value="Team Warrior">Team 8</option></select> 
</div> 

내가 뭔가를 선택하는 경우, 그것은 데이터베이스에 도착하고 올바르게 표시되지만 편집 페이지에서 선택이 표시되지 않습니다, 대신 항상 "팀 1"로 설정 선택된.

표시하려면 선택 값이 필요합니다. options_for_select하는

+0

당신은 '스틱'은 무엇을 의미합니까? 데이터베이스에 보관 하시겠습니까? – Josh

+0

select가 데이터베이스에 있고 올바르게 표시됩니다. 선택 항목의 버튼 만 프롬프트로 재설정됩니다. –

+0

선택 목록이 출력하는 HTML과 저장할 정확한 ** 값을 게시 할 수 있습니까? – Josh

답변

1

제 2 PARAM 선택된 값이다 http://guides.rubyonrails.org/form_helpers.html#option-tags-from-a-collection-of-arbitrary-objects

원하는 내부 값으로 정확하게 동일해야 options_for_select하는 두 번째 인자. 특히 값이 정수 2 인 경우 options_for_select에 "2"를 전달할 수 없습니다. 2를 전달해야합니다. params 해시에서 추출 된 값을 모든 문자열로 인식합니다.

이 시도 :

<%= f.select :team_for, options_for_select(User::TEAMFOR, @user.team_for), :prompt => "Please Select" %>