Мне нужно, чтобы в моем приложении пользователи могли добавлять записи в закладки. Они должны иметь возможность создавать только одну закладку на пост. Я настроил свою полиморфную ассоциацию так:
class Post < ActiveRecord::Base
has_many :bookmarks, :as => :bookmarkable
end
class Bookmark < ActiveRecord::Base
belongs_to :bookmarkable, :polymorphic => true
belongs_to :user
end
class User < ActiveRecord:Base
has_many :posts
has_many :bookmarks
end
На мой взгляд, пользователь может создать закладку. Я хотел бы найти способ заменить код представления «Создать закладку» кодом «Удалить закладку», если пользователь уже добавил в закладки определенный пост.
Если я попытаюсь сделать что-то вроде этого:
@post = Post.find(params[:id, :include => [:bookmarks]])
- if @post.bookmarks.users.include?(@user)
Я получаю ошибку "Нет метода" для "пользователей"
Как я могу получить доступ к владельцам закладок, чтобы определить, создал ли текущий пользователь закладку на страницу?
Спасибо.