31 lines
736 B
Ruby
31 lines
736 B
Ruby
class FollowsController < ApplicationController
|
|
before_action :authenticate_user!
|
|
load_and_authorize_resource
|
|
|
|
def create
|
|
@follow.save!
|
|
flash.now[:notice] = t("shared.followable.#{followable_translation_key(@follow)}.create.notice")
|
|
render :refresh_follow_button
|
|
end
|
|
|
|
def destroy
|
|
@follow.destroy!
|
|
flash.now[:notice] = t("shared.followable.#{followable_translation_key(@follow)}.destroy.notice")
|
|
render :refresh_follow_button
|
|
end
|
|
|
|
private
|
|
|
|
def follow_params
|
|
params.permit(allowed_params)
|
|
end
|
|
|
|
def allowed_params
|
|
[:followable_type, :followable_id]
|
|
end
|
|
|
|
def followable_translation_key(follow)
|
|
follow.followable.class.name.parameterize(separator: "_")
|
|
end
|
|
end
|