Ruby on Rails Wednesday, November 26, 2014

On 26 November 2014 at 08:40, Ganesh Ranganathan
<ganesh.ranganathan.85@gmail.com> wrote:
> Hi All,
>
> 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

Groups.first.messages.where(:created => '11-11-2014').tags

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.

Colin

>
> Thanks,
> Ganesh
>
> --
> You received this message because you are subscribed to the Google Groups
> "Ruby on Rails: Talk" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to rubyonrails-talk+unsubscribe@googlegroups.com.
> To post to this group, send email to rubyonrails-talk@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/rubyonrails-talk/CALFmRoE96wMtKOkxkE7vx%2B7BhduN0kxRvBt08VD3r_a7-NiWBQ%40mail.gmail.com.
> For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-talk+unsubscribe@googlegroups.com.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/CAL%3D0gLv6VwRVtwamEp%2BJKeTJ6Ga_1V10hxK5pEyQ1J4rYuY0Dg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

No comments:

Post a Comment