Вернуть coffeescript через AJAX-вызов в представление Rails

0

Я хочу использовать Ruby, чтобы помочь мне создать объекты coffeescript.

Поэтому я хотел бы иметь возможность создать файл, например: (example.js.coffee.erb):

class Test
  @constructor: (@name) ->


window.new_obj = new Test(<%= some_ruby_code%>)

и по запросу AJAX выполните:

$(document).ready ->

    $.ajax "/controller/action",
            type: "GET"
            error: (jqXHR, textStatus, errorThrown) ->
                  alert "Your search result came up empty. Please try again, or refresh the page."
            success: (data, textStatus, jqXHR) ->    
                  #APPEND SCRIPT DIRECTLY INTO DOCUMENT THEN
                  console.log window.new_obj.name
                  #DO OTHER THINGS WITH DATA FROM example.js.coffee.erb
  • 0
    И твой вопрос?
  • 0
    Как бы я получить JavaScript для добавления в документ? Я попытался $ (document) .append (data) ... и example.js.coffee.erb, содержащий простое предупреждение, не сработал ..
Показать ещё 1 комментарий
Теги:
coffeescript

1 ответ

1
Лучший ответ

Если вы хотите, чтобы ваш запрос AJAX извлекал и выполнял код, используйте dataType: 'script'.

Добавление скрипта в DOM не собирается ничего делать.

См. Документацию:

dataType:
...
"script": оценивает ответ как JavaScript и возвращает его как обычный текст. Отключает кеширование путем добавления параметра строки запроса "_ = [TIMESTAMP]" к URL-адресу, если для параметра кеша установлено значение true. Примечание. Это приведет к отправке POST в GET для запросов удаленного домена.
...

  • 0
    Все ближе .. Coffeescript не компилируется, хотя. Это будет работать, если я просто использую JS.
  • 0
    На самом деле я не думаю, что это даже возможно ..
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню