Rails after_filter получает значения javascript и таблицы стилей - PullRequest
0 голосов
/ 21 октября 2010

Возможно ли в рельсах с помощью фильтра, который появляется после представления (after_filter), собирать данные, которые появились внутри методов javascript_include_tag и stylesheet_link_tag?

например:

---rails view starts
javascript_include_tag 'file.js'

---rails view is complete and after_filter runs
@js_files = get_included_javascript_files_array

Есть идеи?

Ответы [ 2 ]

1 голос
/ 21 октября 2010

Если вы предполагаете, что если вам нужно выяснить, какие js-файлы включены, то вы уже сообщаете rails, какие файлы включить, поэтому просто создайте что-то в ApplicationController:

before_filter :setup_js_includes

def setup_js_includes
  @js_includes = [ 'file.js' ]
end

Тогда по вашему мнению:

<%= javascript_include_tag @js_includes %>

Я предполагаю, что javascript_include_tag может взять массив, если нет, то вам нужно выполнить итерацию, используя @js_includes.each в представлении.

Тогда вы можете делать все что угодно в вашем :after_filer, потому что переменная @js_includes уже доступна.

0 голосов
/ 21 октября 2010

Да, это то, что я делал раньше, однако, некоторые из моих страниц включают javascript или файл css в представление.

----- register.html.erb -----
<% content_for(:javascripts) do %>
<%= javascript_include_tag 'register' %>
<% end %>
----- rest of the register page

----- application.html.erb -----
.....
<%= yield(:javascripts) %>
</body>
</html>
----- end of application.html.erb file -----

Итак, что происходит, когда страница достигает конца, она просто загружает файлы javascript, которые были заполнены в представлении, и любые помощники. Я хотел бы получить эти добавленные файлы JS.

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