Вы можете создать динамически генерируемый файл представления Javascript, похожий на , как показано здесь .
В основном, если у вас есть действие контроллера (например, действие станций контроллера javascripts). Это может выглядеть так.
# in controllers/javascripts_controller.rb
def stations
@stations = Station.all
end
затем вы можете создать файл вида JavaScript, подобный этому ...
// in views/javascripts/stations.js.erb
var stations = <%= @stations.map(&:name).to_json %>;
// ...
Этот файл javascript может содержать любой javascript, который вы хотите, так что вы, вероятно, можете переместить туда часть кода application.js. Затем вы можете включить это, как и любой другой файл JavaScript.
<%= javascript_include_tag 'stations' %>
Это предполагает, что он находится под путем 'javascripts', который имеет место, если у вас есть контроллер javascripts. В противном случае вам придется пройти полный путь.
У этого есть обратная сторона, сделав еще один запрос к приложению Rails, но вы, вероятно, можете добавить кэширование страниц в это действие js для оптимизации этого.