2011-04-09 54 views
1

我不確定我是否正確表述了這個問題,但是如何創建一個帶有選項的下拉菜單以在特定模型上創建新條目?比方說,例如我有用戶,費用和預算,並且在主頁上我希望通過從下拉菜單中選擇該選項來添加新用戶,新費用或新預算;而不是點擊將我帶到「new_user_path」,「new_expense_path」或「new_budget_path」的鏈接。Rails - 下拉菜單執行控制器中的操作?

+0

我一直在尋找小時,它似乎JavaScript或jQuery可能在這裏的答案,但我不知道如何實現。如果問題不是很清楚,基本上我想要一個下拉菜單,其中有諸如「添加新用戶」或「添加新費用」等選項,然後爲該選項帶我進入添加新用戶頁面的權限。 – FattRyan 2011-04-09 07:29:43

回答

2

如果你不介意使用jQuery,這是我會做什麼:
有一個哈希定義是這樣的:

@urls = {"Create New USer..." => new_user_url, "Create new expense", => new_expense_path} 

然後在視圖中有:

select_tag :create-model, options_for_select(@urls) 

然後在application.js或類似的東西

$('#create-model').change(function() { 
    window.location = $(this).find('option:selected').val(); 
}); 

我還沒有特里它但它應該沒有太多的編輯工作。

+0

謝謝@Gwilym Kuiper,朝着正確的方向前進。這是我迄今爲止基於您的代碼所做的,請隨時指導其餘部分。在我的索引頁(現在),我有@urls = {「Create New Client」=> new_client_url,「Create new Saving」=> new_saving_url}然後我有select_tag':create-model',options_for_select(@urls), :onchange =>'this.form.submit()',我把jQuery放在application.js文件中,就像你說的。下拉菜單顯示並顯示正常,但沒有任何操作。思考? – FattRyan 2011-04-09 16:16:57

+0

也許我在我的文件中缺少一個include_tag來使用jquery,那有可能嗎? – FattRyan 2011-04-09 19:53:17

+0

在你給我看的摘錄中,它說:select_tag':create-model',它應該是:select_tag:create-model – 2011-04-10 09:24:34