2011-01-19 75 views
0

我有兩個模型對象,分別是EventTask,他們有一對多關聯如何使用「select_tag」在視圖中實現這個動態選擇選項?

事件模型:

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> 

我要的是在另一個表列我有另一個多選字段任務,看起來就像事件多選字段,但是關鍵功能是,內容任務選擇選項是根據哪個事件或事件動態更改的用戶從事件中選擇的多選字段。

例如,假設event_1與task_1和task_2關聯,如果用戶鼠標點擊event_1,任務多選字段將顯示task_1和task_2作爲可供用戶選擇的選項。

如何在rails中實現此功能?我正在使用Rails 3.我想這個功能需要一些Ajax魔法來玩,但我不知道如何實現它,如果有人能就這個問題給出一個簡單的例子,那更好。謝謝!

回答