Rails выбирает поле многие ко многим - PullRequest
0 голосов
/ 25 апреля 2020

У меня есть два класса

Post And Tag

class Post 
    has_and_belongs_to_many :tags

class Tag
    has_and_belongs_to_many :posts

Я хочу иметь возможность искать сообщения по тегу, но то, что у меня не работает

@posts = Post.joins(:tags).where("tags.id", @tag.id)

Но что происходит, так это то, что он возвращает все сообщения независимо. Что я делаю не так?

Ответы [ 2 ]

1 голос
/ 26 апреля 2020

Это правильный синтаксис того, что вы пытаетесь сделать там.

Я не уверен, что он вернет то, что вы ожидаете, хотя .

Post.joins(:tags).where(tags: { id: @tag.id })
1 голос
/ 25 апреля 2020
@posts = @tag.posts

Это даст вам сообщения для определенного тега

...