Files
old-holivud2/app/controllers/api/notes_controller.rb

36 lines
828 B
Ruby
Raw Permalink Normal View History

2020-05-31 22:38:19 +02:00
class Api::NotesController < Api::ApiController
before_action :set_release
deserializable_resource :note, only: [:create]
def index
render jsonapi: @release.notes, class: { Note: SerializableNote }
end
def create
note = @release.notes.new(note_create_params)
note.user_id = current_user.id
note.email = current_user.email
note.save!
render jsonapi: note, class: { Note: SerializableNote }, status: :created
end
private
def model_name
request.path.match(/(\w+_releases)/).captures.first.singularize
end
def model_constant
model_name.camelize.constantize
end
def set_release
@release = authorize model_constant.find(params["#{model_name}_id"])
end
def note_create_params
parameters = params.require(:note).permit!
parameters.slice(:content)
end
end