У меня есть виджет для валют, которые я использую во всем приложении. То есть. пользователь меняет валюту с 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 %>
Я не уверен, имеет ли это смысл, но я надеюсь, что это так, по крайней мере, в моем собственном мозгу, если не в чьем-либо.