Hi
I have a model Topic that has many Posts, and I’m trying to use a
named scope on my find
I can do something like this:
@posts = @topic.posts.named_scope_func
But I cannot do this:
@posts = Post.find_by_topic_id(1).named_scope_func
The reason is that the “posts” and “find_by_topic_id” seem to return
different classes (Post and Array)
Am I doing something wrong?
thanks
Hey,
Named scopes generate a Class method. Looks like you’re trying to call
one on an instance of Post (or an array with one Post in it)
You could try specifying the topic first and then calling
posts.named_scope
i.e.
@topic = Topic.find(1).posts.named_scope
Don’t know any other way around this using named scopes I’m afraid
On Feb 22, 9:43 am, “[email protected]” [email protected]
Hey,
Named scopes generate a Class method. Looks like you’re trying to
call
one on an instance of Post (or an array with one Post in it).
Don’t know any other way around this other than calling the class
method on Topic.posts.named_scope
Maybe @posts = Post.named_scope.all :conditions => {:topic_id => 1}
On Feb 22, 9:43 am, “[email protected]” [email protected]