Пару способов сделать это, самый простой и элегантный способ, который я нашел, это:
Удалите директиву
//= require_tree .
и измените свой шаблон на
<%= javascript_include_tag "application", controller_name %>
Затем загрузите ваш глобальный js в приложении и контроллер, соответствующий имени контроллера.
Например, если вы находитесь в posts_controller, вы получите загруженные posts.js или posts.js.coffee.
РЕДАКТИРОВАТЬ
Чтобы выполнить действие, вы также можете добавить
action_name
к моему предлагаемому решению.Одна вещь, которую вы можете рассмотреть, это разбить ее на application_controller.rb:
before_filter :your_function
def your_function
@controller = controller_name
@action = action_name
end
Затем использовать это в макете
<%= javascript_include_tag "application", "#@controller.#@action" %>