Project show and edit
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
class ProjectsController < ApplicationController
|
||||
before_action :fetch_project!, only: %w[show edit update destroy]
|
||||
|
||||
def index
|
||||
@projects = Project.all
|
||||
end
|
||||
|
||||
def show
|
||||
end
|
||||
|
||||
def edit
|
||||
end
|
||||
|
||||
def update
|
||||
if @project.update(params.expect(project: %i[code name description]))
|
||||
redirect_to @project
|
||||
else
|
||||
render :edit, status: :unprocessable_entity
|
||||
end
|
||||
end
|
||||
|
||||
def destroy
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def fetch_project!
|
||||
@project = Project.find_by!(code: params[:id])
|
||||
end
|
||||
end
|
||||
@@ -0,0 +1,2 @@
|
||||
module ProjectsHelper
|
||||
end
|
||||
@@ -1,3 +1,6 @@
|
||||
// Configure your import map in config/importmap.rb. Read more: https://github.com/rails/importmap-rails
|
||||
import "@hotwired/turbo-rails"
|
||||
import "controllers"
|
||||
|
||||
import "trix"
|
||||
import "@rails/actiontext"
|
||||
|
||||
@@ -4,4 +4,9 @@ class Project < ApplicationRecord
|
||||
has_many :tasks
|
||||
|
||||
has_rich_text :description
|
||||
|
||||
def to_param
|
||||
return unless id
|
||||
code
|
||||
end
|
||||
end
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
= form_with model: @project do |form|
|
||||
.field
|
||||
= form.label :code
|
||||
= form.text_field :code
|
||||
.field
|
||||
= form.label :name
|
||||
= form.text_field :name
|
||||
.field
|
||||
= form.label :description
|
||||
= form.rich_textarea :description
|
||||
.submit
|
||||
= form.submit 'Submit'
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
h1
|
||||
span Editing project
|
||||
span= @project.name
|
||||
|
||||
= render 'form'
|
||||
@@ -0,0 +1,3 @@
|
||||
ul
|
||||
- @projects.each do |project|
|
||||
li= link_to project.name, project
|
||||
@@ -0,0 +1,7 @@
|
||||
h1= @project.name
|
||||
|
||||
section= @project.description
|
||||
|
||||
section
|
||||
ul.links
|
||||
li= link_to 'Edit', edit_project_path(@project)
|
||||
Reference in New Issue
Block a user