У меня есть виджет для валют, который я использую в своем приложении. Т.е. пользователь меняет валюту с EUR -> USD или около 13 других валют. У меня есть несколько других вариантов использования, таких как даты, но этот проще всего объяснить. Валюта в основном просто обновляет переменную сеанса, вызывая контроллер валюты, а затем использует некоторый JS для перезагрузки страницы, но я хотел бы получить только определенные элементы страницы (т.е. которые отражают изменение валюты и ничего больше)...
$("#places_list").html("<%= escape_javascript(render :partial => 'places/list') %>");
или если другой контроллер
$("#locations").html("<%= escape_javascript(render :partial => 'locations/places') %>");
но эти элементы относятся к текущему контроллеру, т. е. рендеринг части контроллера, такой как список... (сама математика валюты находится в помощнике приложения, поэтому никакой новой логики не происходит), а контроллер валюты прост частичная загрузка разными контроллерами. (места, места и т. д.)
Помимо создания действия в каждом контроллере, специально предназначенном для этой цели, как я могу заставить его вести себя так, чтобы я мог отображать элементы, специфичные для текущего контроллера, чтобы я мог разумно заменить их через js вместо перезагрузки? Т.е. Я могу передать в валюту текущий контроллер
<%= hidden_field_tag :info, controller.controller_name %>
Я не уверен, что все это имеет смысл, но надеюсь, что имеет, по крайней мере, в моем собственном мозгу, если не в чьем-то еще.