Минимизация coffeescript в представлении Rails - PullRequest
2 голосов
/ 10 февраля 2012

Я работаю с файлом javascript, который настраивается в тот момент, когда он запрашивается.Я делаю это через контроллер.Я создал шаблонгруппа активов.

group :assets do
gem 'sass-rails',   '~> 3.2.3'
  gem 'mysql2'
  gem 'yui-compressor'
end
gem 'coffee-rails', '~> 3.2.1'
gem 'uglifier', '>= 1.0.3'

Теперь эта часть работает, но скрипт не обрабатывается с помощью uglifier.Мой вопрос, как мне минимизировать JavaScript, который обслуживается таким образом?

Спасибо

1 Ответ

0 голосов
/ 24 июля 2013

Напишите after_filter:

class TestController < ApplicationController
  respond_to :js
  after_filter :uglify, :only => :custom

  def custom
    @ivar = 'Custom'
  end

  def uglify
    response.body = Uglifier.new.compile(response.body)
  end
end

Я действительно попробовал это (поскольку мне никогда не приходилось генерировать JavaScript динамически, и я никогда не писал after_filter), и это работало.Это кажется идеальным случаем для after_filter: ваше тело ответа - JavaScript, и вы хотите изменить свой ответ (путем его увеличения) перед отправкой его клиенту.

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