通过AJAX调用将coffeescript返回到Rails视图

时间:2014-01-23 03:16:20

标签: ruby-on-rails ruby ajax coffeescript

我想用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

1 个答案:

答案 0 :(得分:1)

如果您希望AJAX请求检索并执行代码,请使用dataType: 'script'

向DOM添加脚本不会做任何事情。

请参阅documentation

  

<强>的dataType
  ...
  “script”:将响应评估为JavaScript并将其作为纯文本返回。通过将查询字符串参数“_ = [TIMESTAMP]”附加到URL来禁用缓存,除非缓存选项设置为true。注意:这会将POST转换为GET以获取远程域请求   ...