Add basic version of Comments component

This commit is contained in:
riggraz
2019-09-17 11:33:18 +02:00
parent d05202a2d7
commit b40ddfd543
17 changed files with 389 additions and 10 deletions

View File

@@ -1,11 +1,36 @@
class CommentsController < ApplicationController
before_action :authenticate_user!, only: [:create]
def index
comments = Comment
.where(post_id: params[:post_id])
.left_outer_joins(:user)
.select('comments.body, comments.updated_at, users.full_name')
.select('comments.id, comments.body, comments.updated_at, users.full_name as user_full_name')
.order(updated_at: :desc)
.page(params[:page])
render json: comments
end
def create
comment = Comment.new(comment_params)
if comment.save
render json: comment, status: :no_content
else
render json: I18n.t('errors.unauthorized'), status: :unauthorized
end
end
private
def comment_params
params
.require(:comment)
.permit(:body)
.merge(
user_id: current_user.id,
post_id: params[:post_id]
)
end
end