find_by_user_id_and_id question

Hi,

I wondering about the next:

The book Advance Rails states that using

  def show     @message = Message.find_by_user_id_and_id(current_user.id, params[:id])   end

Should return RecordNotFound if the user that tries to view a message is not the one that created it.

But what I get is:

You have a nil object when you didn't expect it! The error occurred while evaluating nil.sender_name

And that is fine since it gets to the view and the @message used there is nil.

But the find_by_user_id_and_id was not returning RecordNotFound. Which is something I could use a common error page for.

I'm I missing something?

Thanks.

Hi,

I wondering about the next:

The book Advance Rails states that using

def show    @message = Message.find_by_user_id_and_id(current_user.id, params[:id]) end

Should return RecordNotFound if the user that tries to view a
message is not the one that created it.

That's just not what find_by ... does. It behaves more like find :first

Fred