Цепной блок выбора в Rails 3 - PullRequest
0 голосов
/ 14 марта 2011

У меня есть таблица, связанная с самим собой:

id | data | owner_id
1  | A    | null
2  | B    | 1
3  | C    | 1
4  | D    | 2

Поэтому B и C принадлежат A, а D принадлежит B.

Мой вопрос заключается в том, как я могу отобразить в Rails 3 вид цепочки выбора, где, если вы выбираете «данные», появляется другое поле выбора с его «потомками», а при выборе одного из дочерних элементов появляется другое поле выбора с его дети и так далее, использующие Ajax?

Например, в предыдущей таблице, если я выберу A в поле выбора, появится другое поле выбора, показывающее B и C, и если я выберу B, появится другое окно выбора, показывающее D.

Большое спасибо.

1 Ответ

1 голос
/ 14 марта 2011

Есть 2 способа подойти к этому

  • Ajax

Добавьте событие onchange в ваше первое поле, которое будет вызывать метод в вашем контроллере для извлечения соответствующих опций и заполнения второго меню выбора.

Только что узнал, что есть плагин ChainSelects , который пытается это сделать. Вы можете попробовать это. (Я бы предпочел сделать это сам, но решать вам.)

  • Javascript

Существует Railscast , который подробно объясняет эту технику. Несмотря на то, что в этом Railscast используется Rails 2.3, вы можете использовать эту технику и настроить ее для Rails 3.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...