mirror of
https://github.com/Growstuff/growstuff.git
synced 2026-05-11 01:05:01 -04:00
46 lines
1.1 KiB
Ruby
46 lines
1.1 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
class FollowsController < ApplicationController
|
|
before_action :set_member, only: %i(index followers)
|
|
load_and_authorize_resource
|
|
skip_load_resource only: :create
|
|
|
|
def index
|
|
@follows = @member.followed.paginate(page: params[:page])
|
|
end
|
|
|
|
def create
|
|
@follow = current_member.follows.build(followed: Member.find(params[:followed]))
|
|
|
|
if @follow.save
|
|
flash[:notice] = t('messages.followed', name: @follow.followed.login_name)
|
|
else
|
|
flash[:error] = t('messages.follow_error')
|
|
end
|
|
redirect_back_or_to(root_path)
|
|
end
|
|
|
|
def destroy
|
|
@follow = current_member.follows.find(params[:id])
|
|
@unfollowed = @follow.followed
|
|
@follow.destroy
|
|
|
|
flash[:notice] = t('messages.unfollowed', name: @unfollowed.login_name)
|
|
redirect_to @unfollowed
|
|
end
|
|
|
|
def followers
|
|
@followers = @member.followers.paginate(page: params[:page])
|
|
end
|
|
|
|
private
|
|
|
|
def set_member
|
|
@member = Member.confirmed.find(params[:member_slug])
|
|
end
|
|
|
|
def follow_params
|
|
params.permit(:id, :followed, :follower)
|
|
end
|
|
end
|