Настройка модели Rails - PullRequest
0 голосов
/ 07 мая 2018

У меня есть модель User, модель Post и модель Bookmark. Как мне установить отношения между ними, чтобы я мог использовать current_user.bookmarks.posts.

Ответы [ 2 ]

0 голосов
/ 07 мая 2018

Если вы хотите получить все сообщения, принадлежащие пользователю, тогда вы можете использовать has_many: through association :

class User < ApplicationRecord
  has_many :bookmarks
  has_many :posts, through: :bookmarks
end

class Bookmark < ApplicationRecord
  belongs_to :user
  has_many :posts
end

class Post < ApplicationRecord
  belongs_to :bookmark
end

Тогда вы можете просто позвонить:

user = User.first
all_posts = user.posts

Будет возвращен массив, содержащий все сообщения для каждой из закладок, принадлежащих пользователю.

0 голосов
/ 07 мая 2018

Может быть:

class User < ApplicationRecord
  has_many :bookmarks
end

class Bookmark < ApplicationRecord
  belongs_to :user
  has_many :posts
end

class Post < ApplicationRecord
  belongs_to :bookmark
end
...