2015-08-26 2 views
0

Я новичок в Ruby & Я борюсь за обслуживание файла javascript и его выполнение.Rails - рендеринг javascript-файла

Я пытаюсь построить встраиваемый виджет так, когда кто-то бежит mydomain.com/widget.js, он получит файл JavaScript, который будет выполняться после загрузки его

содержания

loader.js.erb:

(function(global) { 
    var WIDGET = WIDGET || {}; 

    WIDGET.version = '0.1'; 
})(this); 

router.rb содержание: содержание

get 'widget.js' => 'application#test' 

application_controller.rb:

def test 
    render template: 'loader.js.erb', status: :ok, content_type:'text/javascript' 
end 

Я ожидаю, что после вызова mydomain.com/widget.js, чтобы увидеть WIDGET в глобальном объекте, но в данный момент он делает это как HTML

ответ

0

Попробуйте это:

Создать перед фильтром и внести изменения в формат запроса:

before_filter :set_js_request_format 

def set_js_request_format 
    request.format = :js 
end 

Надеюсь, это полезно для вас.

+0

Спасибо, но не работал – Alon

Смежные вопросы