首先抱歉我的英文;
出于学习目的,我创建了一个带身份验证的博客(我正在使用Devise),现在我希望该用户能够收藏其他用户的帖子,这样当他们访问收藏的帖子页面时,他们会看到保存的帖子。如果有人可以给我一个教程链接或指导我,我很感激
答案 0 :(得分:1)
要添加功能以使用户能够收藏其他用户的帖子,您需要创建与您可能已创建的用户和帖子模型的关联
class User < ActiveRecord::Base
has_many :posts
has_many :favorites, :dependent => :destroy
has_many :favorite_posts, :through => :favorites, :source => :post
end
class Post < ActiveRecord::Base
belongs_to :user
has_many :favorites, :dependent => :destroy
has_many :favorited, :through => :favorites, :source => :user
end
class Favorite < ActiveRecord::Base
belongs_to :user
belongs_to :post
end
您可以使用这些模型添加必要的功能,并使用此关联创建帖子和收藏夹。
例如: myname = User.create(:name =&gt;'user333') yourname = user.create(:name =&gt;'user444')
mypost = myname.posts.create(:head =&gt;'Hello',:body =&gt;'post content') yourname.favorites.create(:post =&gt; mypost)
如果您这样做,此代码现在将提供user444的收藏帖子 myname.favorite_posts
有关于创建书签的教程,跟随其他用户并在网络上创建收藏夹等 http://doblock.com/articles/creating-an-extensible-user-favorites-system-in-rails http://12devs.co.uk/articles/writing-a-web-application-with-ruby-on-rails/
祝你好运!