2

application.html.erb [ファイルの表示]に、外部APIからイベントを受信するjavascriptコードブロックがあります。私がやりたいのは、イベントが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")
});
4

1 に答える 1

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")
});
于 2012-04-22T01:38:31.570 に答える