Как интегрировать функцию закладки с ассоциацией has_many? - PullRequest
0 голосов
/ 02 марта 2019

У меня есть базовое приложение для блога с Devise для аутентификации, и я пытаюсь интегрировать функцию закладки, не используя gem с ассоциацией has_many.Как мне это сделать?

моя User модель:

class User < ActiveRecord::Base
belongs_to :user
has_many :posts
has_many :posts, :through => :bookmarks
end

моя Post модель:

class Post < ActiveRecord::Base
    has_many :bookmarked_posts, through: :bookmarks, source: :post
end

моя Boomark модель:

class Bookmark < ActiveRecord::Base
    belongs_to :job
    belongs_to :user
end

1 Ответ

0 голосов
/ 02 марта 2019

1, у вас есть 2 раза has_many :posts в модели пользователя, что неверно, сначала измените на has_many :own_posts, foreign_key: :user_id, class_name: "Post"

создать новый контроллер для добавления сообщений в закладки и в маршрутах. Rb

метод добавления

def add
  current_user.posts << Post.find(params[:post_id])
end

этофактически может быть добавлено в PostsController, но в любом случае необходимо добавить новое действие в rout.rb.И то же самое для удаления сообщений из закладок

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...