У меня есть два объекта модели: Event
и Task
, они имеют связь один-ко-многим .
Модель события:
class Event < ActiveRecord
has_many :Task
Модель задачи:
class Task < ActiveRecord
belongs_to :Event
Мой контроллер имеет функцию индекса, которая возвращает список событий (@events), Возможно возвращает также список задач (@tasks):
class MyController < ApplicationController
def index
@events = Event.all
@tasks.....
end
На мой взгляд (index.html.haml) я определил поле множественного выбора для всех событий в столбце таблицы, как показано ниже:
%td
=select_tag('events',options_from_collection_for_select(@events, 'id', 'name'), {:multiple=>'multiple'})
выходной код вышеупомянутого тега select_tag:
<td>
<select id="events" multiple="multiple" name="events">
<option value="1">Event 1</option>
<option value="2">Event 2 </option>
</select>
</td>
В другом столбце таблицы мне нужно другое поле для множественного выбора для tasks , которое выглядит как события поле множественного выбора, НО ключевой особенностью является то, что , содержимое задач опций выбора динамически изменяется в зависимости от того, событие или события пользователь выбрал из поля events multi-select.
Например, предположим, что event_1 связан с task_1 и task_2, еслипользователь щелкает мышью по событию_1, в поле множественного выбора задач в качестве параметров, доступных для выбора пользователем, будут отображаться задача_1 и задача_2.
Как реализовать эту функцию в рельсах?Я использую Rails 3. Полагаю, что эта функция нуждается в магии ajax, но я не знаю, как ее реализовать, лучше, если кто-нибудь сможет привести простой пример по этому вопросу.Спасибо!