質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

プログラミング言語

プログラミング言語はパソコン上で実行することができるソースコードを記述する為に扱う言語の総称です。

Ruby on Rails 4

Ruby on Rails4はRubyによって書かれたオープンソースのウェブフレームワークです。 Ruby on Railsは「設定より規約」の原則に従っており、効率的に作業を行うために再開発を行う必要をなくしてくれます。

Ajax

Ajaxとは、Webブラウザ内で搭載されているJavaScriptのHTTP通信機能を使って非同期通信を利用し、インターフェイスの構築などを行う技術の総称です。XMLドキュメントを指定したURLから読み込み、画面描画やユーザの操作などと並行してサーバと非同期に通信するWebアプリケーションを実現することができます。

Q&A

1回答

2680閲覧

Ruby on Rails でのリアルタイム描写方法。

EzrealTrueshot

総合スコア388

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

プログラミング言語

プログラミング言語はパソコン上で実行することができるソースコードを記述する為に扱う言語の総称です。

Ruby on Rails 4

Ruby on Rails4はRubyによって書かれたオープンソースのウェブフレームワークです。 Ruby on Railsは「設定より規約」の原則に従っており、効率的に作業を行うために再開発を行う必要をなくしてくれます。

Ajax

Ajaxとは、Webブラウザ内で搭載されているJavaScriptのHTTP通信機能を使って非同期通信を利用し、インターフェイスの構築などを行う技術の総称です。XMLドキュメントを指定したURLから読み込み、画面描画やユーザの操作などと並行してサーバと非同期に通信するWebアプリケーションを実現することができます。

0グッド

0クリップ

投稿2016/08/30 07:10

編集2016/08/30 10:11

http://central01.com:10090/home/top

上記URLへアクセスした際に
1秒毎にhomeコントローラーのtopメソッドが実行されるようにしたいのですが、どのような方法が考えられますでしょうか?

homeコントローラーの中身↓
app/controllers/home_controller.rb

Ruby

1class HomeController < ApplicationController 2 def top 3 @file = File.read("app/assets/hoge.txt") 4 end 5end

topヴューの中身↓
app/view/home/top.html.erb

Ruby

1<%= @file %>

実現したいこととしましては、app/assets/hoge.txtの中身が1秒毎に書き換わるのですが、それをリアルタイムに描写したいのです。

上記コードのままですと、http://central01.com:10090/home/topにアクセスしたときに「1度きり」しかファイルを読んで、中身を表示してくれません。

これをn秒ごとに homeコントローラーのtopメソッドを舐め回して、リアルタイムにapp/assets/hoge.txtの中身を表示させるためにはどのような手法が考えられますでしょうか?

ご存知の方いらっしゃいましたらご教示頂けませんでしょうか?

* できればその際に、ブラウザがパチパチと更新されずに滑らかにファイルの中身がn秒ごとに描写されていって欲しいです。
(うまく伝わからなかったらすみません。)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

こんにちは!
下記のプラグインを利用して、定期的にajaxでGETする方法はいかがでしょうか?

【JQuery-PeriodicalUpdater】
https://github.com/RobertFischer/JQuery-PeriodicalUpdater

参考
定期的にAjaxリクエストを送信してくれる「PeriodicalUpdater」
http://kwski.net/jquery/1022/

動作確認をしておりませんので、万が一動かない場合は「ajax 自動更新」等で調べると他のプラグインが出てくるかと思いますm(_ _)m

投稿2016/08/31 04:30

MaShiRo_H

総合スコア328

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

EzrealTrueshot

2016/09/05 06:40

ありがとうございます! jqueryで試してみたのですが、うまく動いてくれませんでした。 turbolink等もきをつけてみたのですが・・・ もう少し調べてみようと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問