On 1/7/2010 1:27 AM, Nugroho Herucahyono wrote:
>
> not necessarily a magic.
>
> method2 tersebut muncul karena rails membaca atribut yang dimiliki oleh
> tabel 'products' di database.
>
> jika kita membaca lognya, akan kita temukan query
> SHOW FIELDS FROM `products`
> yang digunakan activerecord untuk mengetahui atribut2 apa saja yang
> dimiliki oleh model Product.
>
> sebagai contoh, jika pada tabel `products` tersebut ditemukan kolom 
> `title`,
> maka activerecord akan mendefinisikan method `title=` dan `title` sebagai
> instance method Product (kalau di java, getter dan setter nya)
>
> "trik" semacam ini sangat umum dan natural pada bahasa dinamis
> semacam ruby, namun akan sulit diimplementasikan pada bahasa
> statis seperti java.
>
> keuntungan dari trik ini tentu saja memudahkan developer karena
> tidak perlu melakukan banyak konfigurasi yang membosankan
> dengan memberikan suatu konvensi yang masuk akal.
>

Setuju. itu memang hal yang sangat baru buat saya. ternyata memang kosep 
metaprogramming di Ruby yang memungkinkan hal tersebut dapat dilakukan.

Thanks All,

Regard
jasoet
jasoet.wordpress.com
www.twitter.com/jasoet
www.fb.com/jasoet



> 2010/1/6 Deny Prasetyo <[email protected] <mailto:jasoet%40gmail.com>>
>
> >
> >
> > ada beberapa hal yang secara konsep agak membingungkan saya ketika
> > develop rails.
> > Ketika menjalankan command generate "scaffold" oleh rails akan dibuatkan
> > beberapa file sesuai dengan parameter yang dimasukkan dan ketika
> > dijalankan ternyata jalan MULUS dan tanpa hambatan. nah pertanyaannya:
> > - Kalau di Java. konsep MVC selalu melibatkan POJO (Plain Old Java
> > Object) yang berupa sebuah kelas Java yang memiliki variable2 sesuai
> > dengan mapping pada table. Contoh product memiliki variable string
> > title, string description dll. Nah yang mengherankan di Rails saya
> > menemukan kelas product.rb tapi tidak menemukan sebuah variable member
> > sama sekali
> >
> > class Product < ActiveRecord::Base
> > end
> >
> > sedangkan pada kode bagian lain saya menemukan
> >
> > <% @products.each do |product| %>
> > <tr>
> > <td><%=h product.title %></td>
> > <td><%=h product.description %></td>
> > <td><%=h product.image_url %></td>
> > <td><%= link_to 'Show', product %></td>
> > <td><%= link_to 'Edit', edit_product_path(product) %></td>
> > <td><%= link_to 'Destroy', product, :confirm => 'Are you sure?', :method
> > => :delete %></td>
> > </tr>
> > <% end %>
> >
> > nah darimana muncul product.title, product.description dll sedangkan
> > variable2 tersebut tidak pernah didefinisikan pada kelas Product.
> > it's a kind of magic, but in every magic has a trick behind it.
> > Ada yang bisa menjelaskan..
> >
> > salam
> > jasoet
> >
> >
> >
> >
>
> [Non-text portions of this message have been removed]
>
> 



[Non-text portions of this message have been removed]

Kirim email ke