2017-04-01 2 views
0

레일 :설정 옵션은 내가 내 양식이 선택을했습니다 기호

<%= select_tag :x, options_from_collection_for_select(@dmj, :id, :name, :selected), {class: "form-control"} %> 

하지만 페이지, 값이 DB에서 설정을 선택하지 않은 옵션을로드 할 때.

기호 :selected 컨트롤러에 SQL 쿼리에서오고 나는 options_from_collection_for_select:selected:name를 교체하려고하면, 나는 그것의 값이 올바른지 확인할 수 있습니다.

또한 정수를 수동으로 options_from_collection_for_select에 설정하면 해당 옵션이 선택됩니다.

왜 기호가있는 옵션을 선택하지 못합니까?

편집 :

내 쿼리가이 (가) 가입 테이블에서 선택을 검색하는 데 참여하고있다. 여기서 질의이다 : @dmj = DiscoveryModeInjury.find_by_sql ("D.name가
discovery_mode_injuries FROM
선택된 AS D.id, L.discovery_mode_injury_id가
LEFT OUTER가
D. ON
link_dismodeinj_hospitalizations L
가입 D SELECT ID = L.discovery_mode_injury_id

플래그 = '디스크'
ORDER
D.name ") BY

Akash Srivastava의 제안을 올바르게 이해했다면 쿼리에서 DiscoveryModeInjury ID 필드를 반환해야합니까? 방법..? 감사.

답변

0

:selected에 대한 쿼리가 :id 필드를 반환하는지 확인하십시오. 기본적으로 selected 옵션이 options_from_collection_for_select() 인 경우 value 필드와 동일한 입력란 (예 : :id)이어야합니다. 많은 사람들이 collection의 대상으로 selected의 결과를 유지하는 실수를합니다.