从javascript访问rails路径

时间:2016-06-09 01:34:29

标签: javascript ruby-on-rails get

我正在尝试从javascript文件中访问我的Rails控制器中的“next”方法。根据我的阅读,似乎我实际上需要将我的js变成js.erb文件,并用“asset_path”引用路径。但是,我在控制台中收到一条错误消息,说“无效的正则表达式:missing /”指向我所拥有的代码行:

$.get(<%= asset_path('next') %>, {id: projectId, next: 4}).done(function(response){

基本上,我只是想在我的一个控制器中访问“def next”方法。有没有更简单的方法??救命!

2 个答案:

答案 0 :(得分:0)

你的erb文件正在编译到

$.get("/some/path/here", {id: projectId, next: 4}).done(function(response)

所以要修复它将其包装在引号

$。get(“&lt;%= asset_path('next')%&gt;”,{id:projectId,next:4})。done(function(response)

应该呈现给

print("<#text#>")

答案 1 :(得分:0)

<%= asset_path('next') %>不会链接到一行代码,该帮助程序通常用于链接CSS,JS文件或图像等资源。

我通常从视图传递链接到javascript的方式是使用html上的数据属性,例如:

view.html.erb

<div id="someId" data-somedata="<%= @information_I_want_to_pass %>">
</div>

然后在我的javascript文件中,我使用jquery来获取信息:

javascript.js

function example(){
   var url = $('#somId').data('somedata');
   $.get(url, {id: projectId, next: 4})
    .done(function(response)
}

希望这有帮助!