Jun22

Ada 2 isu penting di bidang web development akhir-akhir ini, yaitu Ruby on Rails (RoR) dan Ajax, aku sudah terbiasa dengan RoR karena memang sudah menjadi pekerjaan sehari-hari ku, sedangkan Ajax ?, aku Cuma mendengar kabar burungnya dari internet atau ebook saja

Nah tadi pagi aku coba cicipi kue Ajax ini, dan enak bangeeeeeeet, walaupun belum sepenuhnya tau enaknya kenapa ?, nah yg cukup membuat aku kaget adalah RoR mempunyai Framework dan Templating system tersendiri untuk menghandle Ajax, Frameworknya berisikan Helper yang merupakan abstraksi dari beberapa Javascript Framework handal seperti prototype & script.aculo.us, sedangkan templating systemnya bernama RJS (Ruby-generated JavaScript)

Nah dari pada bertele-tele aku ngejelasin, silahkan cicipi deh kode “Ajax on Rails” berikut ini  (Asumsi, Ruby & RoR sudah terinstall, jika belum silahkan baca ini)

1. buat Rails Skeleton , ketik di console/terminal “rails latihanajax”
2. buat controller, caranya masuk ke directory latihanajax terus ketik “ruby script/generate controller latihan1”
3. ketik kode form berikut ini di Textmate, (kalo ndak punya textmate pake emacs/notepad ajah :D )

<%= form_remote_tag :url=>{:action=>’salam’} %><!—ini akan meng-invoke salam.rjs –>
Enter your name <%= text_field_tag :name %>
<%= submit_tag "Ucapkan Salam" %>
<%= end_form_tag %>

<h2 id="salam" style="display: none "></h2>

simpan di app/views/latihan1/form.rhtml

4. buat template rjs-nya

page[:salam].hide
page[:salam].update "Assalamu’alaikum wr wb, " + params[:name]
page[:salam].visual_effect :grow
page.select("form").first.reset
simpan di app/view/latihan1/salam.rjs

5. buat layout untuk meng-include script.aculo.us & prototype
<html>
<header>
<%= javascript_include_tag :defaults %> <!—ini untuk menginclude Ajax Framework –>
</header>
<body>
<%= yield %>
</body>
</html>

simpan di app/view/layouts/standar.rhtml

6. panggil layout tersebut di controller, buka app/controllers/latihan1_controller.rb, ketik kode berikut

class Latihan1Controller < ApplicationController
  layout "standar"
end

7. masuk ke directory latihanajax lalu nyalakan server, dengan mengetik “ruby script/server”
8. buka Mozilla Firefox, lalu masukan url berikut localhost:3000/latihan1/form/
9. silahkan dinikmati, nah gampang kan bikin kue Ajax  di loyang RoR ? ^_^

btw, ini html yang dihasilkan oleh kode di atas, dan terus terang saja aku sangat suka dengan visual efek yang dihasilkannya ^_^

<html>
<header>
<script src="/javascripts/prototype.js?1150155006" type="text/javascript"></script>
<script src="/javascripts/effects.js?1150155006" type="text/javascript"></script>
<script src="/javascripts/dragdrop.js?1150155006" type="text/javascript"></script>
<script src="/javascripts/controls.js?1150155006" type="text/javascript"></script>
<script src="/javascripts/application.js?1150155006" type="text/javascript"></script>
</header>
<body>
<form action="/latihan1/salam" method="post" onsubmit="new Ajax.Request(’/latihan1/salam’, {asynchronous:true, evalScripts:true, parameters:Form.serialize(this)}); return false;">
Enter your name <input id="name" name="name" type="text" />
<input name="commit" type="submit" value="Ucapkan Salam" />
</form>
<h2 id="salam" style="display: none "></h2>
</body>
</html>

referensi : Ajax on Rails by Scott Raymond

*note : kalo ada error, hubungi saya, siapa tau saya mbisa membantu :D

7 Komentar

Trackback: Use this URI to trackback this entry. Use your web browser's function to copy it to your blog posting.

Gravatar: You can have a picture at the top of each your comments by getting a Gravatar

Belajar WordPress
June 22, 2007 6:22 pm

Wah, aku malah ndak ngerti dua-duanya :(

captain naruto
September 4, 2008 10:07 am

mau bikin skripsi pake ruby neh, yang menarik apa yah. tapi jangan sistem informasi coz ngak boleh

captain naruto
September 4, 2008 10:57 am

setelah beberapa menit aku mencoba .. hasilnya

Template is missing

Missing layout ./script/../config/../app/views/layouts/standar.rhtml

kenapa bisa gitu mas??

adit
September 4, 2008 11:23 am

@captain naruto
layout yg bernama standar.rhtml sudah dibikin belum ?

arda86™
September 7, 2008 5:36 pm

adddduuuuuuhhh Rubynya puyeng, Ajaxnya mumet :(

captain naruto
September 8, 2008 9:43 pm

layout yang bernama standar.html sudah saya bikin, dan sudah mengikuti petunjuk yang ada, tapi hasilnya …

Template is missing

Missing layout ./script/../config/../app/views/layouts/standar.rhtml

mas filenya di post aja, ntar aku donlot trus tak coba …:)

andry
June 10, 2010 9:41 am

Sip deh

RSS feed for comments on this post.

Leave a comment

Line and paragraph breaks automatic, e-mail address never displayed, HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>



Anti-spam measure: please retype the above text into the box provided.