From 1bcb99734aefa9fc9119a5ec2d211779394ae6b3 Mon Sep 17 00:00:00 2001 From: Norore Date: Sat, 8 Jun 2024 21:45:12 +0200 Subject: [PATCH] =?UTF-8?q?Activate=20active=5Fstorage=20=E2=80=94=20Init?= =?UTF-8?q?=20letter=20controller?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/letters_controller.rb | 33 +++++++++++++++++++++++++++ app/views/letters/new.html.erb | 0 config/application.rb | 2 +- 3 files changed, 34 insertions(+), 1 deletion(-) create mode 100644 app/views/letters/new.html.erb diff --git a/app/controllers/letters_controller.rb b/app/controllers/letters_controller.rb index 9b5a25b..7b878d4 100644 --- a/app/controllers/letters_controller.rb +++ b/app/controllers/letters_controller.rb @@ -1,2 +1,35 @@ class LettersController < ApplicationController + before_action :set_letter, only: %i[show edit update delete] + def new + @letter = Letter.new + end + + def create + @letter = Letter.new(letter_params) + respond_to do |format| + if @letter.save + format.html { redirect_to @laboratory, notice: 'Votre lettre ouverte a bien été soumise. Vous avez été redirigé sur votre lettre ouverte. Vous pouvez maintenant la partager.' } + format.json { render :show, status: :created, location: @letter } + else + format.html { render :new } + format.json { render json: @letter.errors, status: :unprocessable_entity } + end + end + end + + private + + def set_letter + @letter = Letter.find(params[:id]) + end + + def letter_params + params.require(:letter).permit( + :title, + :document, + :author, + :email, + :private_email + ) + end end diff --git a/app/views/letters/new.html.erb b/app/views/letters/new.html.erb new file mode 100644 index 0000000..e69de29 diff --git a/config/application.rb b/config/application.rb index 33b5b13..f3d300d 100644 --- a/config/application.rb +++ b/config/application.rb @@ -5,7 +5,7 @@ require "rails" require "active_model/railtie" # require "active_job/railtie" require "active_record/railtie" -# require "active_storage/engine" +require "active_storage/engine" require "action_controller/railtie" # require "action_mailer/railtie" # require "action_mailbox/engine"