Files
astuto/app/controllers/comments_controller.rb

39 lines
975 B
Ruby
Raw Normal View History

2019-09-16 18:02:52 +02:00
class CommentsController < ApplicationController
before_action :authenticate_user!, only: [:create]
2019-09-16 18:02:52 +02:00
def index
comments = Comment
.where(post_id: params[:post_id])
.left_outer_joins(:user)
2019-09-17 17:04:19 +02:00
.select('comments.id, comments.body, comments.parent_id, comments.updated_at, users.full_name as user_full_name')
2019-09-16 18:02:52 +02:00
.order(updated_at: :desc)
render json: comments
end
def create
comment = Comment.new(comment_params)
if comment.save
render json: comment.attributes.merge({ user_full_name: current_user.full_name}),
status: :created
else
2019-09-18 13:40:00 +02:00
render json: {
error: I18n.t('errors.comment.create', message: comment.errors.full_messages)
}, status: :unprocessable_entity
end
end
private
def comment_params
params
.require(:comment)
2019-09-18 13:40:00 +02:00
.permit(:body, :parent_id)
.merge(
user_id: current_user.id,
post_id: params[:post_id]
)
end
2019-09-16 18:02:52 +02:00
end