2011-07-30 1 views
0

두 가지 모델 :드롭 다운 목록에서 선택된 CATEGORY를 기반으로 NEW/EDIT보기에서 열 제목을 제어하는 ​​방법. w 레일에 루비/MYSQL

category has_many: components 
component belongs_to: category 

분류 표는 다른 구성 요소 유형에 대한 변수 이름 정의 : 구성 요소 모델의 NEW/EDIT 뷰에서

TYPE, VAR1, VAR2, VAR3, ... 

Insulator, Voltage, Height, Material, ... 

Current Transformer, Voltage, Ratio, Indoor, ... 

을, 사용자는 것입니다 먼저 드롭 다운 목록에서 CATEGORY를 선택하십시오. 선택한 CATEGORY에 따라 양식의 열 머리글과 필드 레이블이 동적으로 업데이트되어 선택한 CATEGORY와 관련된 변수 이름을 나타냅니다.

즉, 사용자가 VAR1에 대한 CATEGORY = 절연체 다음 필드 레이블을 선택하면 ... VAR3 등 전압, 높이, 재질, 나는 이것이의 _form.html.erb 제어 할 것으로 가정

있습니다 전형적인 발판. 나는 추천 된 기술을 찾고있다.

미리 감사드립니다.

답변

0

사용자가 select 태그에서 다른 옵션을 선택하는 것에 대한 응답으로 양식을 변경하는 것이 아마도 Javascript로 가장 잘 수행 될 것입니다. 이렇게하면 클라이언트 측에서 실행이 가능해 지므로 서버로 되돌아가는 것보다 빠릅니다.

페이지로드시 숨겨진 div 태그 안에 다른 양식 필드를 배치하는 것이 좋습니다. 범주의 각 조합은 선택 태그의 Javscript onChange 이벤트에 바인딩하여 양식에 표시되도록 토글 할 수 있습니다. http://www.w3schools.com/jsref/event_onchange.asp

+0

감사합니다. event_onchange에 대해 읽어 보겠습니다. 당신은 올바른 방향으로 가고 있습니다. 다른 카테고리/변수 조합을 자바 스크립트에 저장해야합니까? 그렇다면 새로운 카테고리가 생성 될 때마다 콘텐츠를 업데이트해야하므로 페이지 유지 관리가 중요합니다. 테이블이 변경 될 때 테이블 만 참조되도록 클라이언트 쪽에서 조회 목록을 캐시하는 방법이 있습니까? 다시 한번 감사드립니다. 바이런 – Byron

관련 문제