kristianto | 12 May 07:17
Picon

[Rails] Active record error

Ketika saya membuat aplikasi ROR, pertamnya saya menggunakan scaffold 
untuk mendapatkan struktur dari controller, model, dan viewnya..
kemudian saya mengubah dibagian controller -> def show  karena ketika 
digenerete dari scaffold def show tersebut hanya menampilkan berdasaran 
Id (params[:id]).

Pada aplikasi yang saya bangun saya menggunakan tabel Employees, 
kemudian saya generete scaffold mode Employee, controller jg employee.
pada tabel employee terdapat field2: nip, nama, alamat. pada waktu 
scaffol pada employee_controller.rb method show menampilkan berdasarkan id.

pada aplikasi ini saya mengubah menjadi nip dengan code seperti dibawah ini:

code pada controller:

employee_controller.rb

def show
    @employee = Employee.find_nip
  end

code pada model:

employee.rb

def self.find_nip(no)
    find(:all, :conditions => ["nip = ?",no])
    #find_by_sql("select * from employees where nip=1")
  end

(Continue reading)

Arie Kusuma Atmaja | 12 May 07:35
Picon

Re: [Rails] Active record error

--- In id-ruby@..., kristianto <kristiantohalim@...> wrote:

>     @employee = Employee.find_nip

> def self.find_nip(no)
>     find(:all, :conditions => ["nip = ?",no])
>     #find_by_sql("select * from employees where nip=1")
>   end

>   ArgumentError in EmployeeController#show
> 
> Wrong # of arguments(0 for 1)

> Teman2 ada yang tahu gak errornya dimana?
> 
> Trimaksih..

Anda menyiapkan metode di model yang menerima _satu_ parameter, tetapi tidak Anda 
berikan di controller, disitulah errornya. :-) jadi caranya lempar atau kasih satu parameter 
itu.

Employee.find_nip(params[:id])

dan di bagian model sebenarnya Anda bisa menggunakan find dinamis saja, yaitu 

def self.find_nip(no)
  find_all_by_nip(no)
end

lalu anda masuk ke script/console dan coba saja dari sana juga bisa. mis.
(Continue reading)

Arie Kusuma Atmaja | 12 May 08:50
Picon

Re: [Rails] Active record error

Sebetulnya jawaban saya masih kurang kritis =)) kepala saya tadi
terlalu mikir coding4x mulu' nggak merhatikan kenyataan idup
(spec/requirementnya).

gini gini.. NIP pegawai itu kan mestinya uniq, maka aneh kalau kita
bikin Listing berbasiskan NIP yang sama (dengan kata lain Anda bikin
Listing / Daftar Pegawai dengan NIP NIP yang sama). Nah jadi, sebelum
beralih ke koding, itu database nya benahi/benerin dulu!

:p

BTW tentang find find gitu mah kalo Anda pake rails versi dua tuh ada
compose_of asik banget, saya refer Anda ke blognya Ryan Daigle aja ya
biar komplit disana puas puas (cari di google nama tsb, dan compose
of)

2008/5/12 Arie Kusuma Atmaja <ariekusumaatmaja2@...>:

>  >     @employee = Employee.find_nip
>
>
>  > def self.find_nip(no)
>  >     find(:all, :conditions => ["nip = ?",no])
>  >     #find_by_sql("select * from employees where nip=1")
>  >   end

Blog http://tinyurl.com/2bjgvn

------------------------------------

(Continue reading)

Booking Heaven | 12 May 10:34
Picon
Favicon

[Writen Clip] MicroSecond or MilliSecond in Ruby - NewBie

>> Time.now
>> "Mon May 12 15:15:46 +0700 2008"

>> Time.now.xmlschema(6)
>> "2008-05-12T15:17:14.609000+07:00"

>> Time.now.to_yaml
>> "--- 2008-05-12 15:23:26.843000+07:00"

~!~ Now Let we implement it to our log ~!~

Pindahkan kursor dirimu ke /config/environment.rb,  taro ini di baris paling akhir :

class Logger
  def format_message(severity, timestamp, progname, msg)
    "#{Time.now.to_yaml} (#{$$}) #{msg}\n" 
  end
end

Nah sekarang setiap barisnya log kamu tercatat dalam microsecond, ini membantu dalam mentrace
transaksi. Semoga Bermanfaat & klo ada yang lebih bagus dishare yah ke sini.

Sincerely,
Reinhart
http://teapoci.blogspot.com

      ____________________________________________________________________________________
Be a better friend, newshound, and 
know-it-all with Yahoo! Mobile.  Try it now.  http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ

(Continue reading)

kristianto | 12 May 11:54
Picon

Re: [Rails] Active record error

ya, betul NIP kan uniq (saya ganti id menjadi nip), ketika kita generete 
scaffold maka yang di show juga berdasarkan id nya (ID juga uniqkan).

Setelah saya revisi
 def show
    @employee = Employee.find_nip(params[:id])
  end

muncul error yg seperti ini?

  NoMethodError in Employee#show

Showing /app/views/employee/show.rhtml/ where line *#4* raised:

|undefined method `nip' for []:Array|

Extracted source (around line *#4*):

Saya bingung padahal 'nip' kan didapat dari form ketika diparsing ke ke 
controller, setelah itu baru diparsingkan ke fungsi find_nip yang ada 
dimodel.
Dan kadang saya juga measa kesulitan terhadap error yang aneh2...

Mohon pencerahan atas masalah saya....

||

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

------------------------------------
(Continue reading)

Booking Heaven | 12 May 12:49
Picon
Favicon

Re: [Rails] Active record error

permasalahannya disini kris:

def self.find_nip( no)
find(:all, :conditions => ["nip = ?",no])
#find_by_sql( "select * from employees where nip=1")
end

klo kamu bikin ModelName.find(:all), maka hasil query dari pencarian kamu akan disimpan dalam array,
sedangkan kalo kamu carinya cuma menampilkan single data seperti ModelName.find(id), maka hasilnya
dalam bentuk hash.

Contoh Array : 
@bulutangkis= ["indonesia", "malaysia", "denmark"]

contoh hash :
@indonesia= { "barat" => "jakarta", "tengah" => "denpasar", "timur" => "papua" }

Klo kamu carinya :
>> @kapital = Indonesia.find(id)
>> @kapital.barat
>> "jakarta"
>>
>> @waktu_dunia = Negara.find(:all)
>> [#<...{"country_code"=>"INA", "barat" => "jakarta", "tengah" => "denpasar", "timur" => "papua" }>,
#<...{"country_code"=>"AUS", "barat" => "melbourne", "tengah" => "perth", "timur" => "sydney" }>]
>>
>> @waktu_dunia[0]
>>#<...{"country_code"=>"INA", "barat" => "jakarta", "tengah" => "denpasar", "timur" => "papua" }>
>>
>> @waktu_dunia[0].barat
(Continue reading)

kristianto | 13 May 09:29
Picon

Re: [Rails] Active record error

nah untuk mengakalinya coba gini di view kamu
<% for colomn in @employee %>
<%= colomn.nip %>
<% end %>

nah saya sudah coba seperti yang diatas tapi permasalahan jadi seperti 
ini undefined method nip...

Bukankah employee sudah mengandung nip dan colomn juga merupakan 
employee bukan?

teman2 tolong beri penjelasan.... Apakah pemahaman saya salah?

kalau salah tolong teman2 tidak berberat hati untuk menjelaskan kepada 
saya...

Trimakasih,

Salam
Kristianto

<http://teapoci.blogspot.com>

------------------------------------

ID-Ruby
Berdiskusi dan belajar bersama Bahasa Pemrograman Ruby, termasuk segala varian Ruby (JRuby, Rubinius,
IronRuby, XRuby), dan program yang dibuat dengan Ruby (Ruby on Rails, JRuby on Rails, Merb)

<*> Kunjungi *arsip milis* id-ruby di
(Continue reading)

Booking Heaven | 13 May 10:42
Picon
Favicon

Re: [Rails] Active record error

Coba di def show di controller kamu liat baik2 :
@employee atau @employees, terus kamu bikinnya :

@employee = Employee.find(:all, bla..bla..bla)

atau

@employee = Employee.find_by_nip

coba kamu paste kode di sini : pastie.org, terus paste link setelah kamu save kesini. coba cek sekalian di
tabel employeenya. apakah ada nama kolom nip. Ini cuma kasus kurang teliti aja kok hehe...

Reinhart
http://teapoci.blogspot.com

--- On Tue, 5/13/08, kristianto <kristiantohalim@...> wrote:
From: kristianto <kristiantohalim@...>
Subject: Re: [id-ruby][Rails] Active record error
To: id-ruby@...
Date: Tuesday, May 13, 2008, 12:29 AM

    
            nah untuk mengakalinya coba gini di view kamu

<% for colomn in @employee %>

<%= colomn.nip %>

<% end %>

(Continue reading)

kristianto | 13 May 11:18
Picon

Re: [Rails] Active record error

Booking Heaven wrote:
>
> Coba di def show di controller kamu liat baik2 :
> @employee atau @employees, terus kamu bikinnya :
>
> @employee = Employee.find(:all, bla..bla..bla)
>
> atau
>
> @employee = Employee.find_by_nip
>
> coba kamu paste kode di sini : pastie.org, terus paste link setelah 
> kamu save kesini. coba cek sekalian di tabel employeenya. apakah ada 
> nama kolom nip. Ini cuma kasus kurang teliti aja kok hehe...
>
> ini linknya... http://pastie.org/195959 . kolom nip ada kq di tabel  
> employee...
>
>
>
>
>  

------------------------------------

ID-Ruby
Berdiskusi dan belajar bersama Bahasa Pemrograman Ruby, termasuk segala varian Ruby (JRuby, Rubinius,
IronRuby, XRuby), dan program yang dibuat dengan Ruby (Ruby on Rails, JRuby on Rails, Merb)

<*> Kunjungi *arsip milis* id-ruby di
(Continue reading)

Booking Heaven | 13 May 11:44
Picon
Favicon

Re: [Rails] Active record error

Baris 70 - 72, itu apa kris?

def show
    @employee = Employee.find_by_nip
  end

kok aneh?

seharusnya  :
@employee = Employee.find_by_nip(params[:nip])

coba liat Employee < ActiveRecord::base, kamu bikin apa disana. paste kodenya di pastie.org lagi

Reinhart

--- On Tue, 5/13/08, kristianto <kristiantohalim@...> wrote:
From: kristianto <kristiantohalim@...>
Subject: Re: [id-ruby][Rails] Active record error
To: id-ruby@...
Date: Tuesday, May 13, 2008, 2:18 AM

    
            Booking Heaven wrote:

>

> Coba di def show di controller kamu liat baik2 :

> @employee atau @employees, terus kamu bikinnya :

(Continue reading)

kristianto | 13 May 12:04
Picon

Re: [Rails] Active record error

tadi itu aku ragu mas td wkt di tunjukin:

def show
    @employee = Employee.find_by_nip
end

jd saya pikir apa saya yang salah...
sekarang uda saya revisi hasilnya disini http://pastie.org/195965

terus wkt saya run error yang kaya gini

  NoMethodError in EmployeeController#show

You have a nil object when you didn't expect it!
You might have expected an instance of Array.
The error occurred while evaluating nil.[]

maap,mas kalo saya lambat mengerti... (soalnya baru belajar rails)

mohon bimbingannya 

tengkyu...

------------------------------------

ID-Ruby
Berdiskusi dan belajar bersama Bahasa Pemrograman Ruby, termasuk segala varian Ruby (JRuby, Rubinius,
IronRuby, XRuby), dan program yang dibuat dengan Ruby (Ruby on Rails, JRuby on Rails, Merb)

<*> Kunjungi *arsip milis* id-ruby di
(Continue reading)

Booking Heaven | 13 May 13:15
Picon
Favicon

Re: [Rails] Active record error

Saran saya ganti baris 70-72, jadi :
def show
    @employee = Employee.find_nip(params[:nip])
end

#catatan params[:nip] artinya atribut atau query untuk mencari di view sebelumya harus nip misal <%=
text_field "nip" %>, kalo bentuknya <%= text_field "karyawan", "nip" %> maka pencariannya @employee = Employee.find_nip(params[:karyawan][:nip])

karena di baris 87-90

  def self.find_nip(no)
    find(:all, :conditions => ["nip = ?",no])
    #find_by_sql("select * from employees where nip=1")
  end

Begini Kris, klo kamu hanya mencari single query / record only atau hasilnya cuma 1 karyawan seperti NIP kan
unik, 1 karyawan hanya punya 1 nip. Nah maka pencariannya cukup :

@employee = Employee.find_by_nip(params[:nip])

kecuali kamu mencari nama karyawan yang mirip misal :

@employee = Employee.cari_nama_karyawan(params[:nama])

Employee < ActiveRecord::Base

def self.cari_nama_karyawan(nama)
    find(:all, :conditions=>["nama_karyawan LIKE ?", "%nama%"])
end

(Continue reading)

Arie Kusuma Atmaja | 12 May 13:20
Picon

Re: [Rails] Active record error

2008/5/12 kristianto <kristiantohalim@...>:

> ya, betul NIP kan uniq (saya ganti id menjadi nip), ketika kita generete
>  scaffold maka yang di show juga berdasarkan id nya (ID juga uniqkan).
>
>  Setelah saya revisi
>   def show
>     @employee = Employee.find_nip(params[:id])
>   end
>
>  muncul error yg seperti ini?
>
>
>   NoMethodError in Employee#show

Dari bahasa yang Anda pakai untuk menjelaskan, saya merasa Anda ini
masih bingung akan konsep convention over configuration tentang ID di
Rails, juga tentang penggunaan Active Record find dinamis. Tapi jangan
berkecil hati karena saya bicara "polos" demikian, karena lebih baik
salah karena bertanya daripada tidak pernah salah karena tidak pernah
melakukan/bertanya.

Pakem ID di Rails bisa diperdebatkan oleh "pakar" database, tapi di
kultur rails yang "opiniated" saya akan berikan gambaran suatu ketika
Pemerintah Indonesia merevisi NIP, disini Railers beruntung bila
menerapkan ID sebagai primary key (bukan menggantinya dg NIP dan men
set table di model file ybs).

Tadi yang kesatu, kemudian kedua tentang ketersediaan metode (baik itu
metode kelas maupun metode instan CMIIW kalau bahasa indonesia saya
(Continue reading)

kristianto | 12 May 13:38
Picon

Re: [Rails] Active record error

jadi begitu, terimaksih banyak ya...

Pantas saja, selama membaca ebook2 tentang ROR saya selalu menemukan di 
setiap tabel pasti punya field ID (Id tok tak ada embel lainya).
saya mengerti dg yg dimaksud oleh mas ari, tetapi bagaimana jika saya 
membangun aplikasi ini dengan database yang sudah ada yang sudah di 
pakai untuk SIA kampus,
kemudian saya dan beberapa temas saya diminta untuk mengembangkan webnya 
dengan ROR) tetapi di database tersebut tidak ikut standarisasi...

adakah solusi yang dapat membantu saya...

Trims...

------------------------------------

ID-Ruby
Berdiskusi dan belajar bersama Bahasa Pemrograman Ruby, termasuk segala varian Ruby (JRuby, Rubinius,
IronRuby, XRuby), dan program yang dibuat dengan Ruby (Ruby on Rails, JRuby on Rails, Merb)

<*> Kunjungi *arsip milis* id-ruby di
    http://groups.yahoo.com/group/id-ruby/messages
    http://www.mail-archive.com/id-ruby-hHKSG33TihhbjbujkaE4pw <at> public.gmane.org/
    http://rubyurl.com/Q8DD
    http://news.gmane.org/gmane.comp.lang.ruby.region.indonesia

<*> Baca peraturan id-ruby sebelum posting
    http://rubyurl.com/gay1

<*> Ikutilah Jajak Pendapat ID-Ruby
(Continue reading)

Arie Kusuma Atmaja | 12 May 15:22
Picon

Re: [Rails] Active record error

2008/5/12 kristianto <kristiantohalim@...>:

>  bagaimana jika saya
>  membangun aplikasi ini dengan database yang sudah ada yang sudah di
>  pakai untuk SIA kampus,

Anda hanya tinggal mengatur set table name saja di model file ybs.
http://www.railsbrain.com/api/edge/doc/index.html?a=M001676&name=set_table_name

>  kemudian saya dan beberapa temas saya diminta untuk mengembangkan webnya
>  dengan ROR) tetapi di database tersebut tidak ikut standarisasi...

walau Rails memberikan cara untuk tidak ikut standar tetapi saya
sangat menganjurkan untuk tidak reinvent the wheel apa apa yang sudah
dipakemkan di komunitas rails, pada banyak kenyataan, ada banyak
projects rails mati gara-gara salah satunya ya yg kayak begini ini,
diskusikan dgn tim Anda utk mengikut "pakem" aturan di rails, supaya
project tsb awet (skala "enterprise" alias gak mati di tengah jalan
atau apalagi gak jadi jadi).

>  adakah solusi yang dapat membantu saya...
>
>  Trims...

Blog http://tinyurl.com/2bjgvn

------------------------------------

ID-Ruby
Berdiskusi dan belajar bersama Bahasa Pemrograman Ruby, termasuk segala varian Ruby (JRuby, Rubinius,
(Continue reading)

Booking Heaven | 13 May 07:00
Picon
Favicon

[Rails] DeadLock ... Help Please

Please help me... Thank you before...

 Saya nguji transaksi antar 2 proses

 ini kodenya : http://pastie.org/195869 di TestEnvironment

 ini kode di active Recordnya yang pembentukan penguncian :
 http://pastie.org/195875

 Nah permasalahannya : saat 2 transaksi berjalan hampir bersamaan, kok Transaksi 1 dan Transaksi 2 sama2
menjalankan penguncian exclusive. Seharusnya kan klo salah satu diambil salah satunya waitting.

 ini lognya http://pastie.org/195865

 baris 16 - 21 di Log : Transaksi 1 Mengambil Penguncian Ekslusive
 Barius 50 - 55 di Log : Transaksi 2 Mengambil Penguncian Ekslusive padahal belum di lepas oleh Transaksi 1
 Sehingga Baris 83-89 di Log : Transaksi 2 mengalami DeadLock
 Pertanyaan Saya kenapa Transaksi 2 bisa mengambil penguncian ekslusive yang belum dilepas oleh
Transaksi 1

Thank You,
Reinhart

      ____________________________________________________________________________________
Be a better friend, newshound, and 
know-it-all with Yahoo! Mobile.  Try it now.  http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ

------------------------------------

ID-Ruby
(Continue reading)

Booking Heaven | 12 May 07:40
Picon
Favicon

Re: [Rails] Active record error


def show

    @employee = Employee.find_ nip(params[:nip])

  end

Reinhart
http://teapoci.blogspot.com

      ____________________________________________________________________________________
Be a better friend, newshound, and 
know-it-all with Yahoo! Mobile.  Try it now.  http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ

------------------------------------

ID-Ruby
Berdiskusi dan belajar bersama Bahasa Pemrograman Ruby, termasuk segala varian Ruby (JRuby, Rubinius,
IronRuby, XRuby), dan program yang dibuat dengan Ruby (Ruby on Rails, JRuby on Rails, Merb)

<*> Kunjungi *arsip milis* id-ruby di
    http://groups.yahoo.com/group/id-ruby/messages
    http://www.mail-archive.com/id-ruby-hHKSG33TihhbjbujkaE4pw <at> public.gmane.org/
    http://rubyurl.com/Q8DD
    http://news.gmane.org/gmane.comp.lang.ruby.region.indonesia

<*> Baca peraturan id-ruby sebelum posting
    http://rubyurl.com/gay1

<*> Ikutilah Jajak Pendapat ID-Ruby
(Continue reading)

edwin prananta | 13 May 09:19
Picon
Favicon

Re: [Rails] Active record error

Maaf saya tidak begitu paham...
Kalo begitu tabel yang biasanya di buat oleh railers seperti apa?
Misalkan seperti ini?

Tabel Karyawan
----------------------
id | nip | nama | alamat  |
----------------------
1 | 22 | naruto | konoha |
------------------------

Jika seperti ini bukankah jadi seperti ada 2 buah primary key?(id dan nip)
atau seperti ini ?

--------------------
id | nama  | alamat  |
--------------------
22| naruto | konoha |
--------------------

Jika dengan id seperti tersebut bagaimana jika ada relasi atara tabel?misalkan ada relasi one to many. 
primary key "id" pada tabel 1 apakah tidak bentrok dengan forign key tabel 2(namanya sama-sama id)?

Mohon pencerahan atas ketidak pahaman saya

----- Original Message ----
From: Arie Kusuma Atmaja <ariekusumaatmaja2@...>
To: id-ruby@...
Sent: Monday, May 12, 2008 6:20:40 PM
Subject: Re: [id-ruby][Rails] Active record error
(Continue reading)


Gmane