在javascripts文件夹中使用erb render

时间:2014-03-30 09:48:37

标签: javascript jquery ruby-on-rails ruby ajax

我尝试使用非控制器连接按钮在div中插入部分导轨。由于我没有通过控制器执行此操作,因此我无法使用标准format.js来执行此操作。该脚本放在assets/javascripts文件夹中,这是其中的重要代码:

accounts.js.erb:

$("#account-div").append("<%= j render("newbutton") %>");

当我尝试打开网站时,出现以下错误:

undefined method `render' for #<#<Class:0x007fbc7bd060f8>:0x007fbc7aaa0e40>

上面的代码在通过respond.to块放入AJAX响应时起作用。如何传递正确的路径,以便render方法找到_newbutton.html.erb文件夹,该文件位于views/accounts/文件夹中?谢谢!

1 个答案:

答案 0 :(得分:1)

由于资产无法使用render方法,请将.js.erb文件移动到views目录中并使用

<%= j render(:partial => 'accounts/newbutton') %>

参考 - Rendering partial in js.erb filehttps://stackoverflow.com/a/6309970/184184