--- In [email protected], "Arie Kusuma Atmaja"
<[EMAIL PROTECTED]> wrote:
>
> On 7/27/07, Aditya Agustyana <[EMAIL PROTECTED]> wrote:
> > aku punya model yg kayak gini
> >
> > class Avatar
> >   belongs_to :hair_asset,:foreign_key=>"hair",:class_name=>"Asset"
> >   belongs_to :body_asset,:foreign_key=>"body",:class_name=>"Asset"
> >   belongs_to :hand_asset,:foreign_key=>"hand",:class_name=>"Asset"
> >   belongs_to :foot_asset,:foreign_key=>"foot",:class_name=>"Asset"
> >   belongs_to :face_asset,:foreign_key=>"face",:class_name=>"Asset"
> > end
> 
> adit jawab dulu => code tsb refactor supaya? :-D
> 
> cobain ini:
> 
> class Avatar
>   %w(hair body hand foot face).each do |e|
>     eval(%Q~belongs_to :#{e}_asset, :foreign_key => "#{e}",
> :class_name => "Asset"~)
>   end
> end
> 
> Buat teman-teman yg lain silakan dikritisi dan diimprove coding saya
> diatas. Saya akan sangat sangat senang kalau ada yang bilang coding
> saya diatas sangat jelek dan saya minta yang lebih bagus daripada itu.
> FYI ini saya langsung reply tanpa ngetes dulu code tsb tadi jalan apa
> nggak.
> 
> >
> > kode di atas memang bisa running, tapi koq aku merasa kode tsb bisa
> > di-refactor, tentu saja dengan menggunakan pengulangan, cuma aku binun
> > gmn caranya melakukan loopingnya ?
> >
> > coba kayak gini malah error :(
> >
> > Class Avatar
> >   def initialize
> >     belongs_lists=%w(hair body hand foot face)
> >     belongs_lists.each do |bl|
> >       belongs_to bl.sym,:foreign_key=>bl,:class_name=>"Asset"
> >     end
> >   end
> > end
> 
> 
> -- 
> Arie || ariekeren, http://ariekusumaatmaja.wordpress.com
> http://groups.yahoo.com/groups/id-ruby
> "Never say RTFM. Turn the trolls into committers", Audrey Tang -
> conisli-ofun.pdf
>

alasanya biar ndak diulangi terus (NDT-bhs indonya DRY, alah :D) ,
soale ada kemunkinan belongs_to nya jd nambah

btw makasih pak, kodenya dah nyala he he

tapi jd bertanya-tanya, potongan kode itu kan ndak dimasukin ke dalam
def, kalo dimasukin gmn caranya, daku udah nyobain kayak gini, eh ndak
bisa, muncul error "undefined method `belongs_all' for Avatar:Class" 

module CustomizeBelong
  def belongs_all(elements)
    elements.each do |e|
         eval(%Q~belongs_to :#{e}_asset, :foreign_key
=>"#{e}",:class_name => "Asset"~)
    end
  end  
end  

class Avatar < ActiveRecord::Base
  include CustomizeBelong
  
  belongs_all ["hair","body","hand","shoes","face"]
  
    

end


hihi koq jd berexperiment ginih

Kirim email ke