1
我需要一個更完整的示例,瞭解如何根據Ruby on Rails中第二個選擇框的結果更新選擇框。我問了這個已經here。我已經閱讀了這篇文章的反饋,但是沒有什麼好運氣,我已經嘗試了好幾個小時。任何人都知道更好(更完整)的例子嗎?更新基於另一個選擇框(Ruby on Rails)
我需要一個更完整的示例,瞭解如何根據Ruby on Rails中第二個選擇框的結果更新選擇框。我問了這個已經here。我已經閱讀了這篇文章的反饋,但是沒有什麼好運氣,我已經嘗試了好幾個小時。任何人都知道更好(更完整)的例子嗎?更新基於另一個選擇框(Ruby on Rails)
這通常在Javascript中處理。我不是特別喜歡編碼Javascript,所以我在我的應用程序中做的是使用form_observer(一個Rails幫助器,它使用Prototype Javascript庫來觀察表單的輸入變化),並在HTML中更新DIV第二個選擇框,基於AJAX調用的結果。由於AJAX與我的服務器對話,我可以在Ruby中編寫任意複雜的邏輯來呈現新的HTML。
示例代碼:
#goes in view
<%= Code to render the first list box. %>
<%= render :partial => 'second_list_box_partial', :locals => {:selected = insert_magic_here } %>
<%= observe_field(:first_list_box,
:url => { :action => :second_box_ajax }),
:frequency => 0.5,
:update => :second_list_box_div,
:with => %Q| 'value=' + $('first_list_box').value; |
%>
#goes in controller
def second_box_ajax
first_box_value = params[:value]
#magic goes here
@selected = #more magic
render :partial => 'second_list_box_partial', :locals => {:selected => @selected}, :layout => false
end
#goes in partial
<div id="second_list_box_div">
Actual code to render list box goes here.
</div>
的感謝!我現在要測試這個代碼並回復給你... – Kara 2009-12-18 04:54:34
好吧,我得到一個錯誤,說「奇數號哈希列表」,它指出了「:選定」的結尾風景。另外我不知道insert_magic_here是什麼。這是Ruby內置的東西嗎? – Kara 2009-12-18 05:00:45