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. 2010/1/6 Deny Prasetyo <[email protected]> > > > 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]

