Advertisement
Guest User

Untitled

a guest
Mar 12th, 2017
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Rails 1.52 KB | None | 0 0
  1. class EventsController < ApplicationController
  2.  
  3.   def index
  4.     @events = Event.all
  5.    
  6.     respond_to do |format|
  7.       format.html
  8.       format.json { render json: @events.as_json(methods: :url, only: [:id, :title, :url]) }
  9.     end
  10.   end
  11.  
  12.   def show
  13.     @event = Event.find(params[:id])
  14.    
  15.     respond_to do |format|
  16.       format.html
  17.       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]}}) }
  18.     end
  19.   end
  20.  
  21.   def new
  22.     @event = Event.new
  23.   end
  24.  
  25.   def edit
  26.     @event = Event.find(params[:id])
  27.   end
  28.  
  29.   def create
  30.     @event = Event.new(event_params)
  31.  
  32.     if @event.save
  33.       redirect_to @event
  34.     else
  35.       render 'new'
  36.     end
  37.   end
  38.  
  39.   def update
  40.     @event = Event.find(params[:id])
  41.     if params[:person][:id]
  42.       Attending.create(event_id: params[:id], person_id: params[:person][:id])
  43.       redirect_to @event
  44.     elsif @event.update(event_params)
  45.       redirect_to @event
  46.     else
  47.       render 'edit'
  48.     end
  49.   end
  50.  
  51.   def destroy
  52.     @event = Event.find(params[:id])
  53.     if params[:person_id]
  54.       Attending.destroy(Attending.find_by(event_id: params[:id], person_id: params[:person_id]).id)
  55.       redirect_to event_path
  56.     else
  57.       @event.destroy
  58.       redirect_to events_path
  59.     end
  60.   end
  61.  
  62.   private
  63.  
  64.   def event_params
  65.     params.require(:event).permit(:title, :description, :minimum_age, :maximum_age, :start_time, :end_time)
  66.   end
  67. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement