Permalink
Find file
3836ceb Oct 15, 2012
88 lines (73 sloc) 2.18 KB
class CompaniesController < ApplicationController
# GET /companies
# GET /companies.json
def index
@companies = Company.all
# Add etag and last_modified based on @person.updated_at (need a updated_at attribute ; syntax available only on Rails 3.2)
end
# GET /companies/1
# GET /companies/1.json
def show
@company = Company.find(params[:id])
expires_in 3.minutes, :public => true
# etag based on @company object
# Rendering is not executed if etag is the same
if stale? etag: @company, last_modified: @company.updated_at
respond_to do |format|
format.html # show.html.erb
format.json { render json: @company }
end
end
end
# GET /companies/new
# GET /companies/new.json
def new
@company = Company.new
respond_to do |format|
format.html # new.html.erb
format.json { render json: @company }
end
end
# GET /companies/1/edit
def edit
@company = Company.find(params[:id])
end
# POST /companies
# POST /companies.json
def create
@company = Company.new(params[:company])
respond_to do |format|
if @company.save
format.html { redirect_to @company, notice: 'Company was successfully created.' }
format.json { render json: @company, status: :created, location: @company }
else
format.html { render action: "new" }
format.json { render json: @company.errors, status: :unprocessable_entity }
end
end
end
# PUT /companies/1
# PUT /companies/1.json
def update
@company = Company.find(params[:id])
respond_to do |format|
if @company.update_attributes(params[:company])
format.html { redirect_to @company, notice: 'Company was successfully updated.' }
format.json { head :no_content }
else
format.html { render action: "edit" }
format.json { render json: @company.errors, status: :unprocessable_entity }
end
end
end
# DELETE /companies/1
# DELETE /companies/1.json
def destroy
@company = Company.find(params[:id])
@company.destroy
respond_to do |format|
format.html { redirect_to companies_url }
format.json { head :no_content }
end
end
end