2011-10-17 3 views
0

데이터를로드하는 방법 :레일 3 select_tag - 나는이 DB 테이블에 내 메뉴 구조를 저장

A 
B 
A -> C 
A -> D 
: 나는 방법 이란게 생각

id | item | par 
1 | A | 0 
2 | B | 0 
3 | C | 1 
4 | D | 1 

, 어떻게 내 옵션을 선택하는 등의 문을 얻으려면 다음 명령을 사용하여

A 
B 
C 
D 

:

나는대로 진술을 할 수 있어요

< % = select ("menu_item", "menu_id", Menu.all.collect {| p | [p.item, p.id]}, {: include_blank => ''}) %>

하지만이 방법을 찾을 수 없습니다, 중간 예와 같이 문을 달성하는 방법 .. 나는 너에게 물어보고 싶다 - 누군가가 나를 도와 줄 수 있니, 제발,이 문제가 있니?

미리 감사드립니다.

+1

하나의 테이블 상속을 구현하고 있습니까? 그렇다면 https://github.com/stefankroes/ancestry를 살펴 보시기 바랍니다. 그런 다음 모든 재미있는 도우미 메서드를 사용하여 자식이있는 모든 메뉴 항목을 가져올 수 있습니다. – Thilo

답변

0

원하는 라벨을 만드는 도우미가 필요할 수 있습니다. 따라서 보조자의 이름을 full_item_name이라면

<%= select("menu_item", "menu_id", Menu.all.collect {|p| [ full_item_name(p.item), p.id ] }, {:include_blank => ''}) %> 
+0

네, 무슨 뜻인지는 알지만, 지금은 데이터를 얻는 방법 (full_item_name 도우미 만드는 법) – user984621

+0

모델이 어떻게 보이는지 보여줄 수 있습니까? – Larsenal

+0

내 모델은 첫 번째 게시물에서와 같이 보입니다. 물론 DB 테이블에 더 많은 열이 있지만 중요한 것은 아닙니다. – user984621