Hi,
I would like to know how to count records in an association.
My Models look like this:
// Users
class User < ActiveRecord::Base
has_many :read
has_many :books, :through => :read
end
//Read
class Read < ActiveRecord::Base
belongs_to :user
belongs_to :book
end
//Books
class Book < ActiveRecord::Base
has_many :read
has_many :books, :through => :read
end
In my book_controller I have these queries:
@user = User.find(params[:user_id])
@topics = Topic.find(:all)
@read_by_topic = Book.find(:all, :conditions =>
“topic_id=#{@user.topic_id.to_i}”)
@pending_books = @read_by_topic - @user.books
If I use this code @user.assignments.count it returns the number of
books I’ve read from the join model.
My question is, how do I find out how many of books I still need to
read?
@read_by_topic - @user.books returns an array but I can’t add a count.
If I do it says I get an error that says, can’t convert Fixnum into
Array.
Any help?