This article was migrated from http://rai
Juggernaut
moroさんの記事で紹介されていたRails Chatでも利用されているようです。
まずはインストールしてみましょう。Juggernaut
# gem install jsonさて、続いてJuggernaut
$ ./script/pこれで完了です。毎度の事ながら、Railsのプラグイン機構は本当に便利ですね。 (注: 8月30日現在、インストール方法が上記のように変わっているようです)lugin install \ svn://ruby forge.org/ var/svn/ju ggernaut/t runk/jugge rnaut $ rake install_ju ggernaut $ ./script/p lugin install \ svn://ruby forge.org/ var/svn/ju ggernaut/t runk\ /juggernau t/vendor/p lugins/jug gernaut
さて、続いてrhtmlファイルからJuggernaut
<%= javascriptapp/views/_include_t ag "juggernaut _javascrip t" %> <%= javascript _include_t ag "juggernaut " %>
<%= flash_plug最後の仕上げに、Juggernautin(session[:juggernau t_channels ]) %>
これでJuggernaut
$ rails chat $ cd chat $ ./script/gChatControenerate controller chat
$ vim app/contro続いてViewllers/chat _controlle r.rb class ChatContro ller < ApplicationController def index session[:juggernaut_channels] = ["chat_channel"] end def send_data input_data = Juggernaut.html_and_string_escape(params[:chat_input]) data = "new Insertion.Top('chat_data', '<li>#{ input_data }</li>');" Juggernaut.send(data, session[:juggernaut_channels]) render :nothing => "true" end end
$ vim app/views/これで完了です。あとは、pushサーバとWebサーバを起動すればOK。chat/index .rhtml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DT D XHTML 1.0 Strict//EN " "http://www .w3.org/TR /xhtml1/DT D/xhtml1-s trict.dtd"> <html xmlns="http://www .w3.org/19 99/xhtml" xml:lang="ja" lang="ja"> <head> <meta http-equiv ="Content-Ty pe" content="text/html; charset=UT F-8"> <title>Chat</title> <%= stylesheet _link_tag 'default' %> <%= javascript _include_t ag :defaults %> <%= javascript _include_t ag "juggernaut _javascrip t" %> </head> <body> <%= form_remot e_tag( :url => {:action => :send_data }, :complete => "$('chat_input ').value = ''") %> <%= text_field _tag('chat_input ', '', {:size => 20, :id => 'chat_input '}) %> <%= submit_tag "Add" %> <%= end_form_t ag %> <ul id="chat_data" style="list-style :none"> </ul> <%= flash_plug in(session[:juggernau t_channels ]) %> </body> </html>
$ ruby script/pushttp://loch_server & $ ./script/s erver
リアルタイムに書き込んだ内容が反映されます。
This article was migrated from http://rai
posted by
genki
on Sun 23 Jul 2006
at 07:56