2009-12-11 15 views
0

是否可以使用Ajax並將結果作爲選擇列表與Formtastic?將ajax結果作爲選擇列表與formtastic

例如:

semantic_form_for @user, :url => profile_path(@profile.id) do |f| 
    - f.inputs do 
    - f.input :province, :label => "Province", :as => :select, :collection => ["province-1", "province-2", "province-3"] 
    - f.input :city, :label => "City", :as => :select 
    - f.buttons do 
    = f.submit "Submit" 

我想要動態地根據全省城市的選擇列表中的變化。

回答

1

如果您使用原型,您可以使用幾行Javascript和Prototype Ajax.Updater來描述您所描述的內容。

首先請確保在f.input:collection => []行的結尾處傳遞Formtastic參數:include_blank => true,以便Formtastic知道呈現空白選擇下拉列表。然後讓你的控制器返回選項,並在你的Haml中:

:javascript 
    new Ajax.Updater({ success: 'some_select_tag' }, '/foo', { 
     // process/insert returned html options tags/data however you want 
     insertion: 'bottom' 
    });