Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class EventsController < ApplicationController
- def index
- @events = Event.all
- respond_to do |format|
- format.html
- format.json { render json: @events.as_json(methods: :url, only: [:id, :title, :url]) }
- end
- end
- def show
- @event = Event.find(params[:id])
- respond_to do |format|
- format.html
- format.json { render json: @event.as_json(methods: [:url, :edit_url], include: { people: {methods: :url, only: [:id, :name, :url]}, comments: {methods: [:person_url, :edit_url]}}) }
- end
- end
- def new
- @event = Event.new
- end
- def edit
- @event = Event.find(params[:id])
- end
- def create
- @event = Event.new(event_params)
- if @event.save
- redirect_to @event
- else
- render 'new'
- end
- end
- def update
- @event = Event.find(params[:id])
- if params[:person][:id]
- Attending.create(event_id: params[:id], person_id: params[:person][:id])
- redirect_to @event
- elsif @event.update(event_params)
- redirect_to @event
- else
- render 'edit'
- end
- end
- def destroy
- @event = Event.find(params[:id])
- if params[:person_id]
- Attending.destroy(Attending.find_by(event_id: params[:id], person_id: params[:person_id]).id)
- redirect_to event_path
- else
- @event.destroy
- redirect_to events_path
- end
- end
- private
- def event_params
- params.require(:event).permit(:title, :description, :minimum_age, :maximum_age, :start_time, :end_time)
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement