Acts_as_commentable issues?

Hi All,

I am using the acts_as_commentable plugin
(http://www.juixe.com/projects/acts_as_commentable) and have struck a
slight issue.

I have a number of models that use acts_as_commentable (news, events &
documents) that typically look like:

class News < ActiveRecord::Base
belongs_to :user
acts_as_commentable
end

The controllers are like:

class NewsController < ApplicationController

def show
@news= News.find(params[:id])
@comments = @news.comments
end

end

And the view:
News—
<%= render :partial => ‘/comments/comment’, :collection => @comments %>

Comments —
<%= comment.title %>
<%= comment.user.fullname %>

This last line references a function in the user model:

def fullname
“#{firstname} #{surname}”
end

When there are no comments attached to the news, events and documents
display correctly (probably because the comments code is not called).
When I add a comment I get the error:

“undefined method ‘fullname’ for #User:0x92836498

This is really weird because I have a comments controller that uses the
same calls, partials etc, but displays the comments as expected.

Any hints?

More info for you hackers:

I thought I discovered the problem when the CommentControler was
returning class “Comment”, but the NewsController was returning class
“Comments” (note the extra s).

So, I removed all the references to “Comments” I could find to leave
all the model plumbing to acts_as_commentable (which I can now see does
all this for you).

That did not fix the issue, in fact things are even more bizzare than I
first thought…

If I view a news/event/document with comments the first pass works
fine. Hit refresh and you get an error (undefined method). WTF?

The SQL is slightly differnet as well - on the first pass we get"

SELECT * FROM comments WHERE (comment.commentable_id=5 AND
comment.commentable_type = "News’)
SHOW FIELDS FROM comments
SHOW FIELDS FROM users
SELECT * FROM users WHERE (users.id = 1)

The second pass:
SELECT * FROM comments WHERE (comment.commentable_id=5 AND
comment.commentable_type = "News’)
SHOW FIELDS FROM users
SELECT * FROM users WHERE (users.id = 1)

The “SHOW FIELDS FROM comments” goes missing? Is this normal? What
does it mean?

Anyway, I am off to a long “business” lunch to ponder, drink and ponder
some more…