Loading ...
Sorry, an error occurred while loading the content.

Bls: Bls: [id-ruby] Re: [ask] masalah pada ROR associations

Expand Messages
  • kunto aji
    wah, baru tau, kl pake method try jadi ga perlu nil checking lg..jadi enak nih. :D makasi infonya mas. -- quote: while(not_succeed()) { try_harder(); }
    Message 1 of 1 , Oct 30, 2009
    • 0 Attachment
      wah, baru tau, kl pake method try jadi ga perlu nil checking lg..jadi enak nih. :D
      makasi infonya mas.

      --
      quote: while(not_succeed()) { try_harder(); }
      Portfolio: http://kuntoaji.c0de.me





      ________________________________
      Dari: Arie Kusuma Atmaja <ariekusumaatmaja@...>
      Kepada: id-ruby@yahoogroups.com
      Terkirim: Kam, 29 Oktober, 2009 18:55:24
      Judul: Re: Bls: [id-ruby] Re: [ask] masalah pada ROR associations


      Hai Aji,

      Seingat saya sejak versi 2-sekian rails menyediakan metode .try() buat
      Exception otomatis, jadi kita ga perlu khawatir lagi. mis. kalau di
      case Aji itu jadi gini : = post.try(:user) .try(:username) .

      Kemudian solusi dari Model Aji bisa menambahkan opsi :dependent =>
      :destroy setelah has_many :posts supaya ketika suatu record user
      dihapus, maka dia akan cascade menghapus juga post post yang telah
      disubmit oleh user ini, ini cara di layer aplikasi aja, untuk di layer
      database, mis. di postgres seingat saya disediakan juga untuk cascade
      ini, jadi caranya Aji bisa bikinkan cascadenya pakai di Rails
      migration-nya ya.

      Begitu ^_^

      May The Force be with you ^ http://bit.ly/ Oue4s

      2009/10/29 kunto aji <aji_okay@yahoo. co.id>:

      > barusan dicoba, trnyata kl user dihapus langsung lwt database memang menimbulkan error message itu. makasih infonya.
      >
      > --
      > quote: while(not_succeed( )) { try_harder() ; }
      > Portfolio: http://kuntoaji. c0de.me
      >
      >
      >
      >
      >
      > ____________ _________ _________ __
      > Dari: feby <gilbert_tasik@ yahoo.co. id>
      > Kepada: id-ruby@yahoogroups .com
      > Terkirim: Kam, 29 Oktober, 2009 10:59:15
      > Judul: [id-ruby] Re: [ask] masalah pada ROR associations
      >
      >
      > Hi Mas,
      > Error: "The error occurred while evaluating nil.username"
      > pada saat code:
      > <%= post.user.username %></b></p>
      >
      > itu bukan karena kesalahan relasi atau tidak ada foreign key yang turun. Karena kalau kesalahan relasi errornya akan "undefined method or attribute... bla bla"
      >
      > Error itu karena ada post yang pemiliknya ( user ) sudah dihapus.
      > Gampangnya seh itu tinggal tambahin:
      >
      > <%= post.user.username if post.user %>
      >
      > Bagusnya di cek table posts, liat dan pastikan bahwa user_id pada setiap row ada di 'id' tabel users.
      > Itu itu sering terjadi karena kesalahan edit data yaitu menghapus user secara langsung di database.
      >
      > Ingat has_many :posts, :dependent => :destroy
      > tidak langsung membuat trigger untuk delete casecade di level db/mysql, tapi hanya berlaku untuk level rails app.
      >
      > Semoga membantu,
      >
      > Best
      >
      > Feby Artandi
      >
      > --- In id-ruby@yahoogroups .com, kunto aji <aji_okay@.. .> wrote:
      >>
      >> pagi!
      >>
      >> saya sdng brmasalah aplikasi ror saya, mohon bantuannya. Saya ingin menampilkan username, tp saya mendapat error message:
      >>
      >>
      >> Showing app/views/posts/ _post.html. erb where line #2 raised:
      >> You have a nil object when you didn't expect it!
      >> The error occurred while evaluating nil.usernameSebagai informasi, ini adalah isi dari beberapa file saya.
      >> Isi dari app/views/posts/ _post.html. erb:
      >>
      >> <% div_for post do %>
      >> <p><b>Posted <%= time_ago_in_ words(post. created_at) %> ago by <%= post.user.username %></b></p>
      >> <p><%= post.message %></p>
      >> <% end %>
      >>
      >> Isi dari app/models/post. rb:
      >>
      >> class Post < ActiveRecord: :Base
      >> belongs_to :user
      >> end
      >>
      >> Isi dari app/models/user. rb:
      >>
      >> class User < ActiveRecord: :Base
      >> has_many :posts, :dependent => :destroy
      >> ------------ --- cut ------------ -------
      >> end
      >>
      >> Isi dari app/controllers/ posts_controller .rb:
      >>
      >> class PostsController < ApplicationControll er
      >> def index
      >> if logged_in?
      >> @posts = Post.all(:order => 'Created_at DESC', :conditions => ['user_id = ?', current_user. id])
      >> else
      >> @posts = Post.all(:order => 'Created_at DESC')
      >> end
      >> respond_to do |format|
      >> format.html
      >> end
      >> end
      >> ------------ --------- -- cut ------------ --------- --------- -
      >> end
      >>
      >> Fyi, untuk user, saya generate pakai nifty-generators. saya udah di kutak-katik dari kemarin, tp blom ketemu solusinya sampai sekarang.
      >> makasih!
      >>
      >> --
      >> quote: while(not_succeed( )) { try_harder() ; }
      >> Portfolio: http://kuntoaji. c0de.me




      __________________________________________________________
      Coba Yahoo! Messenger 10 Beta yang baru. Kini dengan update real-time, panggilan video, dan banyak lagi! Kunjungi http://id.messenger.yahoo.com/

      [Non-text portions of this message have been removed]
    Your message has been successfully submitted and would be delivered to recipients shortly.