是否可以在javascript中调用rails helper方法?

时间:2012-04-22 01:19:32

标签: javascript ruby-on-rails helper

我的application.html.erb [查看文件]中有一个javascript代码块,它接收来自外部api的事件。我想要做的就是当在javascript代码块中收到事件时,我需要在[application_helper.rb]中执行一个帮助方法。

我在这里经历了大部分的te栈,但找不到任何相关的答案。

javascript代码块如下所示:

var pusher = new Pusher('b00c9657a0a896f3ec26');
var channel = pusher.subscribe('NewOrders');
channel.bind('NewOrderArrived', function(data) {

    [ I NEED TO CALL THE RAILS HELPER METHOD HERE ]

console.log("got u")
});

1 个答案:

答案 0 :(得分:1)

不直接,不。正如Dave Newton在评论中所说,Ruby在服务器上执行,JS在客户端上执行。你想要做的是这样的事情:

var pusher = new Pusher('b00c9657a0a896f3ec26');
var channel = pusher.subscribe('NewOrders');
channel.bind('NewOrderArrived', function(data) {
  $.get('<%= url_for :some_controller_method_that_calls_helper %>', function(response){
    // the response variable will contain the output of the controller method
  });
  console.log("got u")
});