我有一个在整个应用程序中使用的货币小部件。IE。用户将货币从 EUR -> USD 或大约 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 %>
我不确定这是否有意义,但我希望它有意义,至少在我自己的大脑中,如果不是在其他人的大脑中。