I have an issue on filtering a has_many through association. My model is as follows
class Group
has_and_belongs_to_many :messages
has_many :tags, through :messages
end
class Message
has_and_belongs_to_many :tags
end
class Tag
has_and_belongs_to_many :messages
end
This gives me the tags for all messages in a group. Groups.first.tags . However I want to filter on an attribute in messages (Message.where(:created => ‘11-11-2014’)) based on which tags should be retrieved. Is it possible to do this in a has_many though association? Thanks in advance
I have an issue on filtering a has_many through association. My model is as
follows
class Group
has_and_belongs_to_many :messages
has_many :tags, through :messages
end
class Message
has_and_belongs_to_many :tags
end
class Tag
has_and_belongs_to_many :messages
end
This gives me the tags for all messages in a group. Groups.first.tags .
However I want to filter on an attribute in messages (Message.where(:created
=> '11-11-2014')) based on which tags should be retrieved. Is it possible to
do this in a has_many though association? Thanks in advance
By the way, if you mean :created_at then this will not work as
created_at includes the time, so to get an exact match on 11-11-2014
it would have to be exactly midnight. You will have to use a time
range, and don't forget to watch out for the timezone.