Rails helper方法似乎是在杀死我的JQuery脚本

时间:2017-08-30 15:46:33

标签: javascript jquery ruby-on-rails

我的应用程序允许用户制作包含不同类别的列表。在制作列表时,如果用户决定他们想要另一个类别,他们可以在不离开页面的情况下创建一个。新类别将显示在列表中,用户可以开始向其添加项目。

我的问题似乎是将任何Rails助手(link_to,render)添加到我的'new.js.erb'文件中,它会阻止脚本执行此操作。我的新div和下拉菜单没有呈现。我在控制台或服务器日志上没有错误。根本不值一提。如果我删除这些方法,一切正常。

function addCategory(){
    var lastCategory = '<%= current_user.categories[-2].name %>';
    console.log(lastCategory);
    $('#' + lastCategory).after("<h3 class='category'><%= @category.name %></h3>\
                                <div class='dropdown-button' data-toggle='collapse' data-target='#<%= @category.name %>'>\
                                  <span class='glyphicon glyphicon-chevron-down'></span>\
                                </div>\
                                <div id='<%= @category.name %>' class='collapse'>\
                                  <h4>Create a new item here:</h4>\
                                  <div id='append<%= @category.id %>'></div>\
                                  <%= link_to 'Home', root_url %>\ //does not work!
                                </div>");
}

这只是link_to和其他似乎导致问题的方法。所有其他erb标签&lt;%=%&gt;似乎工作和适当渲染。

我的目标是在这个新呈现的下拉列表中呈现一个表单和一个链接,但由于问题的根源似乎是一般的Rails方法,为了清楚起见,我添加了一个link_to home。

1 个答案:

答案 0 :(得分:1)

Damnit,我明白了。忘记将'j'添加到我的rails帮助器以将它们转换为JavaScript

<%= j link_to "Home", root_url %>