Rails: как использовать условный JavaScript на контроллер / действие - PullRequest
7 голосов
/ 18 января 2011

Есть ли приемлемый способ генерации javascript в макете приложения, в зависимости от того, какой контроллер / действие?

Ответы [ 2 ]

8 голосов
/ 18 января 2011

content_for - правильный путь. Основываясь на текущем действии, вы можете включить javascript-коды, необходимые для конкретного представления. Также, однако, это должно быть только в голове, так как загрузка javascripts в середине страницы считается навязчивой и, следовательно, имеет содержание для в заголовке страницы. как

<head> <%= yield :dynamic_javascripts %> </head>

и

<% content_for :dynamic_javascripts do %>
  <%= javascript_include_tag "javascript.js" %>
<%end%>
2 голосов
/ 18 января 2011

В вашем макете приложения вам нужен "yield", подобный следующему:

<html>
  <head>
    <%= yield :head %>
  </head>
  <body>
  </body>
</html>

Затем в представлениях вашего контроллера вы можете указать конкретные файлы javascript для этого представления, используя:

<% content_for :head do %>
  <%= javascript_include_tag "my_javascript_file.js" %>
<% end %>

Метод content_for позволяет вставлять содержимое в именованный блок yield в макете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...