create members

This commit is contained in:
2022-12-20 17:05:26 +02:00
parent 3c0d125990
commit d2890636fd
19 changed files with 308 additions and 27 deletions

View File

@ -0,0 +1,58 @@
class MembersController < ApplicationController
before_action :set_member, only: %i[ show edit update destroy ]
# GET /members
def index
@members = Member.all
end
# GET /members/1
def show
end
# GET /members/new
def new
@member = Member.new
end
# GET /members/1/edit
def edit
end
# POST /members
def create
@member = Member.new(member_params)
if @member.save
redirect_to @member, notice: "Member was successfully created."
else
render :new, status: :unprocessable_entity
end
end
# PATCH/PUT /members/1
def update
if @member.update(member_params)
redirect_to @member, notice: "Member was successfully updated."
else
render :edit, status: :unprocessable_entity
end
end
# DELETE /members/1
def destroy
@member.destroy
redirect_to members_url, notice: "Member was successfully destroyed."
end
private
# Use callbacks to share common setup or constraints between actions.
def set_member
@member = Member.find(params[:id])
end
# Only allow a list of trusted parameters through.
def member_params
params.require(:member).permit(:name, :public)
end
end

View File

@ -0,0 +1,2 @@
module MembersHelper
end

2
app/models/member.rb Normal file
View File

@ -0,0 +1,2 @@
class Member < ApplicationRecord
end

View File

@ -1,7 +1,7 @@
%footer.bg-white{"aria-label" => "Site Footer"}
.max-w-screen-xl.px-4.py-16.mx-auto.sm:px-6.lg:px-8
.lg:flex.lg:items-start.lg:gap-8
%a.inline-flex.items-center{"aria-label" => "Hub Feenix", :href => "/", :title => "Company"}
%a.inline-flex.items-center{"aria-label" => "Hub Feenix", :href => "/", :title => "Hub Feenix"}
= image_tag("feenix_lintu" , class: "h-20")
.grid.grid-cols-2.gap-8.mt-8.lg:mt-0.lg:grid-cols-5.lg:gap-y-16
.col-span-2
@ -27,14 +27,14 @@
=main.capitalize
.col-span-2.sm:col-span-1
%p.font-medium.text-gray-900 Hub Feenix
%nav.mt-6{"aria-label" => "Footer Navigation - Company"}
%nav.mt-6{"aria-label" => "Footer Navigation - Hub Feenix"}
%ul.space-y-4.text-sm
%li
%a.text-gray-700.transition.hover:opacity-75{:href => "/about"}
About
.col-span-2.sm:col-span-1
%p.font-medium.text-gray-900 Event Spaces
%nav.mt-6{"aria-label" => "Footer Navigation - Company"}
%nav.mt-6{"aria-label" => "Footer Navigation - Hub Feenix"}
%ul.space-y-4.text-sm
%li
%a.text-gray-700.transition.hover:opacity-75{:href => "/retreats"}

View File

@ -1,6 +1,6 @@
%header.px-4.py-5.mx-auto.sm:max-w-xl.md:max-w-full.lg:max-w-screen-xl.md:px-24.lg:px-8
.relative.flex.items-center.justify-between
%a.inline-flex.items-center{"aria-label" => "Hub Feenix", :href => "/", :title => "Company"}
%a.inline-flex.items-center{"aria-label" => "Hub Feenix", :href => "/", :title => "Hub Feenix"}
= image_tag("feenix_lintu" , class: "h-20")
%span.ml-2.text-xl.font-bold.tracking-wide.text-gray-800.uppercase Hub Feenix
%ul.flex.items-center.hidden.space-x-8.lg:flex
@ -8,14 +8,14 @@
%li
%a.font-medium.tracking-wide.text-gray-700.transition-colors.duration-400.hover:text-cyan-800{"aria-label" => "Our product", :href => "/#{link}", :title => link.capitalize}= link.capitalize
%li
= link_to "facebook.com" do
= link_to "https://www.facebook.com/hubfeenix" , :target => "_blank" do
= image_tag("fb" , class: "h-10 rounded-md")
%li
%a.inline-flex.items-center.justify-center.h-12.px-6.font-medium.tracking-wide.text-white.transition.duration-200.rounded-lg.shadow-md.bg-green-800.hover:bg-blue-800.focus:shadow-outline.focus:outline-none{"aria-label" => "Sign up", :href => "/", :title => "Log in or Sign up"}
Login
.lg:hidden.flex.items-center.justify-between
.mr-20
= link_to "facebook.com" do
= link_to "https://www.facebook.com/hubfeenix" , :target => "_blank" do
= image_tag("fb" , class: "h-10 rounded-md")
%button.p-2.-mr-1.transition.duration-200.rounded.focus:outline-none.focus:shadow-outline.hover:bg-deep-purple-50.focus:bg-deep-purple-50{"aria-label" => "Open Menu", :title => "Open Menu" , onclick: "menu_on();"}
%svg.w-5.text-gray-600{:viewbox => "0 0 24 24"}
@ -27,7 +27,7 @@
.p-5.bg-white.border.rounded.shadow-sm
.flex.items-center.justify-between.mb-4
%div
%a.inline-flex.items-center{"aria-label" => "Company", :href => "/", :title => "Company"}
%a.inline-flex.items-center{"aria-label" => "Hub Feenix", :href => "/", :title => "Hub Feenix"}
= image_tag("feenix_lintu" , class: "h-20")
%span.ml-2.text-xl.font-bold.tracking-wide.text-gray-800.uppercase Hub Feenix
%div

View File

@ -0,0 +1,16 @@
= form_for @member do |f|
- if @member.errors.any?
#error_explanation
%h2= "#{pluralize(@member.errors.count, "error")} prohibited this member from being saved:"
%ul
- @member.errors.full_messages.each do |message|
%li= message
.field
= f.label :name
= f.text_field :name
.field
= f.label :public
= f.check_box :public
.actions
= f.submit 'Save'

View File

@ -0,0 +1,7 @@
%h1 Editing member
= render 'form'
= link_to 'Show', @member
\|
= link_to 'Back', members_path

View File

@ -0,0 +1,23 @@
%h1 Listing members
%table
%thead
%tr
%th Name
%th Public
%th
%th
%th
%tbody
- @members.each do |member|
%tr
%td= member.name
%td= member.public
%td= link_to 'Show', member
%td= link_to 'Edit', edit_member_path(member)
%td= link_to 'Destroy', member, method: :delete, data: { confirm: 'Are you sure?' }
%br
= link_to 'New Member', new_member_path

View File

@ -0,0 +1,5 @@
%h1 New member
= render 'form'
= link_to 'Back', members_path

View File

@ -0,0 +1,12 @@
%p#notice= notice
%p
%b Name:
= @member.name
%p
%b Public:
= @member.public
= link_to 'Edit', edit_member_path(@member)
\|
= link_to 'Back', members_path