복붙노트

[RUBY-ON-RAILS] 선택 도우미 난간 - 기본 방법, 값을 선택?

RUBY-ON-RAILS

선택 도우미 난간 - 기본 방법, 값을 선택?

여기에 내가 지금 사용하고 코드 조각입니다 :

<%= f.select :project_id, @project_select %>

어떻게 기본값을 만들기 위해 수정 PARAMS에 동일합니다 : 페이지가로드 될 때 [PID]?

해결법

  1. ==============================

    1.이것은을 수행해야합니다

    이것은을 수행해야합니다

    <%= f.select :project_id, @project_select, :selected => params[:pid] %>
    
  2. ==============================

    2.현재 인스턴스 (예를 들어, @ work.project_id)의 오른쪽 속성을 사용합니다 :

    현재 인스턴스 (예를 들어, @ work.project_id)의 오른쪽 속성을 사용합니다 :

    <%= f.select :project_id, options_for_select(..., @work.project_id) %>
    
  3. ==============================

    3.3.0.9 레일

    3.0.9 레일

    select options_for_select([value1, value2, value3], default)
    
  4. ==============================

    4.이 답변의 모든 문제는 그들이 당신이 편집에 기록을하려는 경우에도 기본 값으로 필드를 설정합니다.

    이 답변의 모든 문제는 그들이 당신이 편집에 기록을하려는 경우에도 기본 값으로 필드를 설정합니다.

    당신은 당신의 기존 값에 기본값을 설정해야하고이 값이없는 경우 만 실제 디폴트로 설정합니다. 그래서 같이 :

    f.select :field, options_for_select(value_array, f.object.field || default_value)
    

    f.object.field에 익숙하지 않은 누군가를 위해 당신은 항상 다음 f.object 사용하는 말에 필드 이름을 추가합니다.

  5. ==============================

    5.이 시도:

    이 시도:

        <%= f.select :project_id, @project_select, :selected => f.object.project_id %>
    
  6. ==============================

    6.PARAMS 경우 [: PID가]이 양식에서 온 경우 문자열을, 그것은 당신은 아마 사용해야합니다이며,

    PARAMS 경우 [: PID가]이 양식에서 온 경우 문자열을, 그것은 당신은 아마 사용해야합니다이며,

    params[:pid].to_i  
    

    올바른 항목이 선택 목록에서 선택하려면

  7. ==============================

    7.나는 해결책을 발견했습니다 그리고 내가 RoR에 꽤 미경 해요 것으로 나타났다.

    나는 해결책을 발견했습니다 그리고 내가 RoR에 꽤 미경 해요 것으로 나타났다.

    보기 위이 추가 기술 된 관리 컨트롤러 내부 :

    @work.project_id = params[:pid] unless params[:pid].nil?
    
  8. ==============================

    8.

    <%= f.select :project_id, @project_select, :selected => params[:pid] %>
    
  9. ==============================

    9.나는 일이 얻을 내가 올바른 <옵션> 태그에뿐만 아니라 <선택> 태그에뿐만 아니라 "선택"HTML 속성을 추가 할 필요가 있음을 발견 할 수 없었다. 선택 태그 말의 선택 속성에 MDN의 문서 :

    나는 일이 얻을 내가 올바른 <옵션> 태그에뿐만 아니라 <선택> 태그에뿐만 아니라 "선택"HTML 속성을 추가 할 필요가 있음을 발견 할 수 없었다. 선택 태그 말의 선택 속성에 MDN의 문서 :

    즉, 코드가 같아야 의미 :

    f.select :project_id, options_for_select(@project_select, default_val), html: {selected: true}
    
  10. ==============================

    10.

    <%= f.select :project_id, options_from_collection_for_select(@project_select,) %>
    
  11. ==============================

    11.f.select 당긴 특정 속성의 첫 번째 인수 이후, 컨트롤러의 PROJECT_ID 속성 : 다른 방법으로는 설정할 수 있습니다.

    f.select 당긴 특정 속성의 첫 번째 인수 이후, 컨트롤러의 PROJECT_ID 속성 : 다른 방법으로는 설정할 수 있습니다.

  12. ==============================

    12.시도는 F 오브젝트를 인쇄하는 경우에, 당신은 (> 2.3 버전을 레일 모두에 적용) 선택한 항목을 얻기위한 탐색 할 수 f.object이 있음을 볼 수

    시도는 F 오브젝트를 인쇄하는 경우에, 당신은 (> 2.3 버전을 레일 모두에 적용) 선택한 항목을 얻기위한 탐색 할 수 f.object이 있음을 볼 수

    logger.warn("f #{f.object.inspect}")
    

    그래서, 적절한 선택한 옵션을 얻기 위해 다음과 같은 스크립트를 사용 :

    :selected => f.object.your_field 
    
  13. ==============================

    13.그것의 이미 설명, 예를 제공하기 위해 노력할 것입니다

    그것의 이미 설명, 예를 제공하기 위해 노력할 것입니다

    선택 목록이하자

    select_list = { eligible: 1, ineligible: 0 }
    

    다음 코드 결과에 따라서

    <%= f.select :to_vote, select_list %>
    
    <select name="to_vote" id="to_vote">
      <option value="1">eligible</option>
      <option value="0">ineligible</option>
    </select>
    

    값 : 그래서 우리는 선택을 사용할 필요가 기본적으로 선택되는 옵션을 확인합니다.

    <%= f.select :to_vote, select_list, selected: select_list.can_vote? ? 1 : 0 %>
    

    can_vote 경우? true를 반환은 선택 세트 : 1 다음 첫 번째 값이 선택됩니다 다른 두 번째.

    select name="driver[bca_aw_eligible]" id="driver_bca_aw_eligible">
      <option value="1">eligible</option>
      <option selected="selected" value="0">ineligible</option>
    </select>
    

    선택 옵션 대신 후 바로 값 것이다 선택된 네가 단지 어레이리스트있는 경우 만약 선택 될

    select_list = [ 'eligible', 'ineligible' ]
    

    지금은 단지 걸릴 것 선택

    <%= f.select :to_vote, select_list, selected: 'ineligible' %>
    
  14. ==============================

    14.마이크 베다니의 대답은 위의 값을 편집 형태로 사용자가 선택한 쇼를 새로운 기록이 작성 될 때 디폴트 값을 설정하고 여전히 가지고 일했다. 그러나, 나는 모델 유효성 검사를 추가하고 그것은 나를 양식을 제출하지 것이다. 다음 날 필드에서 모델 검증을 위해 잘 값으로 사용자가 때 편집 모드에서 선택으로 기본 값을 표시하는 일거야.

    마이크 베다니의 대답은 위의 값을 편집 형태로 사용자가 선택한 쇼를 새로운 기록이 작성 될 때 디폴트 값을 설정하고 여전히 가지고 일했다. 그러나, 나는 모델 유효성 검사를 추가하고 그것은 나를 양식을 제출하지 것이다. 다음 날 필드에서 모델 검증을 위해 잘 값으로 사용자가 때 편집 모드에서 선택으로 기본 값을 표시하는 일거야.

      <div class="field">
        <%= f.label :project_id, 'my project id', class: "control-label" %><br>
        <% if @work.new_record? %>
          <%= f.select :project_id, options_for_select([['Yes', true], ['No', false]], true), {}, required: true, class: "form-control" %><br>
        <% else %>
          <%= f.select :project_id, options_for_select([['Yes', true], ['No', false]], @work.project_id), {}, required: true, class: "form-control" %><br>
        <% end %>
      </div>
    

    모델 검증

      validates :project_id, presence: true
    
  15. ==============================

    15.이것은 당신을 위해 작동합니다. 그냥 통과 {여기서 value => PARAMS [: PID]}는 html_options 변수를.

    이것은 당신을 위해 작동합니다. 그냥 통과 {여기서 value => PARAMS [: PID]}는 html_options 변수를.

    <%= f.select :project_id, @project_select, {}, {:value => params[:pid] } %>
    
  16. from https://stackoverflow.com/questions/623458/rails-select-helper-default-selected-value-how by cc-by-sa and MIT license