Ruby on rails 显示所有追随者
如何显示我所有的追随者? 我已经使跟踪成为可能,但我不知道如何向正在跟踪的用户显示。我也不知道如何显示所有“我正在关注”的人的帖子Ruby on rails 显示所有追随者,ruby-on-rails,Ruby On Rails,如何显示我所有的追随者? 我已经使跟踪成为可能,但我不知道如何向正在跟踪的用户显示。我也不知道如何显示所有“我正在关注”的人的帖子 #/app/controllers/followers_controller.rb 类FollowersController
#/app/controllers/followers_controller.rb
类FollowersController<应用程序控制器
def索引
@用户=当前用户
@followers=Follower.where(跟随者id:params[:用户id])
结束
def创建
如果当前用户
@user=user.find(参数[:user\u id])
@follower=follower.new(follower_参数)
@follower.user\u id=当前用户id
@follower.following_id=@user.id
如果@user!=当前用户
@跟随者。保存
结束
将\u重定向到根\u url
结束
结束
def follower_参数
参数require(:follower).permit(:user\u id,:follower\u id)
结束
结束
#/app/views/followers/index.html.erb
#/app/models/follower.rb
类跟随者”,
小:“150x150>”
}
验证附件内容类型:横幅,内容类型:/\Aimage\/.\Z/
def自我验证(用户名、密码)
用户=通过用户名(用户名)查找
如果user&&user.password\u hash==BCrypt::Engine.hash\u secret(密码,user.password\u salt)
用户
结束
结束
def加密密码
如果密码存在?
self.password\u salt=BCrypt::Engine.generate\u salt
self.password\u hash=BCrypt::Engine.hash\u secret(密码、密码)
结束
结束
结束
因此,需要对模型的设置进行一些调整
因为follower也是一个用户,这意味着您的follower
(下面我将重命名为,
应该是一个联接表。)
类后面的
以及您的用户模型:
class User < ActiveRecord::Base
has_many :followings, foreign_key: :follower_id,
dependent: :destroy
has_many :leaders, through: :followings
has_many :reverse_followings, foreign_key: :leader_id,
class_name: 'Following',
dependent: :destroy
has_many :followers, through: :reverse_followings
end
class用户
请注意,您必须通过更改迁移以包括所需的列来实现这一点
然后您应该能够调用user.followers
并运行迁移。
希望这能有所帮助?你能展示你的用户模型和追随者模型吗??我什么也看不见。另外,是否要显示所有追随者(每个追随者)?或者您想显示所有跟踪某个特定用户的关注者?很抱歉,我必须对其进行格式化:D我想显示跟踪当前用户的关注者。我可以使用@followers=Follower.where(following_id:params[:user_id])从数据库中获取数据,但是我不知道如何使用我拥有的数据获取用户。你能解释一下如何获取:follower如果你将“follower”重命名为“follower”?尝试:
rails g model Following leader\u id:integer follower\u id:integer
找不到关联:reverse\u model User中的以下内容:/
class Following < ActiveRecord::Base
belongs_to :leader, class_name: 'User'
belongs_to :follower, class_name: 'User'
end
class User < ActiveRecord::Base
has_many :followings, foreign_key: :follower_id,
dependent: :destroy
has_many :leaders, through: :followings
has_many :reverse_followings, foreign_key: :leader_id,
class_name: 'Following',
dependent: :destroy
has_many :followers, through: :reverse_followings
end