我有一個我在整個應用程序中使用的貨幣小部件。 IE瀏覽器。用戶從歐元 - >美元或其他13種貨幣更改貨幣。我還有其他一些用例,比如日期,但這個最容易解釋。貨幣基本上只是通過調用貨幣控制器來更新會話變量,然後使用一些JS來重新加載頁面,但我只想獲取頁面的某些元素(即反映貨幣變化而沒有其他內容)...軌道中的巧妙的通用形式部分
$("#places_list").html("<%= escape_javascript(render :partial => 'places/list') %>");
,或者如果另一控制器
$("#locations").html("<%= escape_javascript(render :partial => 'locations/places') %>");
但這些元件是特定於電流控制器,即,呈現控制器特定部分,諸如列表...(貨幣數學本身處於一個應用程序助手,所以沒有新的邏輯),貨幣控制器很簡單,部分由不同的控制器加載。 (位置,地點等)
除了在每個控制器中爲此目的制定操作之外,我如何使它可以呈現特定於當前控制器的元素,以便我可以智能地替換它們在js上,而不是重新加載? IE瀏覽器。我可以通過貨幣電流控制器
<%= hidden_field_tag :info, controller.controller_name %>
我不知道是否有任何這是有道理的,但我希望是這樣,至少在我自己的大腦,如果沒有其他人的。
我發現的一個可能的工作是使用render_component插件,這將允許m e從我目前的控制器外部呈現一個動作...我只是想知道是否有更好的方法,如果以及爲什麼這可能是一個壞主意? HTTP:// github上。com/vhochstein/render_component,因爲原始渲染組件是在rails2之前提取的,而我們生活在rails3的時代。 – holden 2010-10-05 19:49:48