0


0

Rails after_filterはJavaScriptとスタイルシートの値を取得します

Railsでは、ビュー(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 Answer


1


どの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`を使用して繰り返す必要があります。

そして、 @ js_includes`変数はすでに利用可能であるため、:after_filer`で好きなことを行うことができます。


0


はい、それは私が以前にやったことですが、私が持っているページのいくつかは、ビュー内にjavascriptまたはcssファイルを含めています。

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

----- application.html.erb -----
.....
<%= yield(:javascripts) %>


----- end of application.html.erb file -----

それで何が起こっているのかというと、ページが最後に達すると、ビューとヘルパーに取り込まれたjavascriptファイルをロードするだけです。 これらの追加されたJSファイルを取得したいと思います。