を経由してレールでビューをレンダリングします私はこれが私application.jsでコードをJS持っAJAXおよびコントローラ
$(document).ready(function(){
var kraken_btc_eur_old = 0;
setInterval(function(){
$.get('https://api.kraken.com/0/public/Ticker?pair=XXBTZEUR', function(data){
var kraken_btc_eur = data.result.XXBTZEUR.c[0];
kraken_btc_eur_old = kraken_btc_eur;
$(".kraken_btc_eur").text(kraken_btc_eur);
});
$.ajax({
type: "POST",
url: "/bets",
data: { parameter: kraken_btc_eur_old },
success: function (data) {
}
});
}, 10000);
});
これまでのところ、新しい値はAPIや場所からフェッチページの表示ごとに10秒、とても良いですページの更新を行わずにHTMLの対応するクラスに渡します。 私の問題はAJAXリクエストにあります。私は10秒毎にポスト要求は私のコントローラで作成したアクションを押すと、コードがそれに応じて実行されることをレールコンソールでそれを見ることができます:私は新しいとHTMLビューを更新するために管理していないが
def create
@bet = Bet.new
@bet.base_price = params["parameter"]
@bet.save
Bet.first.destroy
@bets = Bet.all
@bet_last = Bet.last
#render :js => "window.location = '#{root_path}'"
#redirect_to "index"
#render :inline => "<% @bets.each do |b| %><p><%= b.id %><p><% end %>"
end
ページを更新する必要はありません。新しいベット(AJAX)が10秒ごとに作成されるたびに、リフレッシュせずに自動的にページに表示されるようにします。 私は作成アクションでさまざまな方法でレンダリングしようとしましたが、ブラウザのコンソールにressources - > XHRという更新されたhtmが作成されていますが、リフレッシュせずに表示されたhtmで置き換えることはできません。
デュードを、あなたは考えているどのくらいの時間助かりました。私は2日間非常に多くの異なるコードを試してきました。本当にありがとう! – Antoine