Files
fetsite/app/controllers/pages_controller.rb
Andreas Stephanides 24694612e8 pages added
2013-03-10 20:06:34 +01:00

66 lines
1.3 KiB
Ruby

class PagesController < ApplicationController
before_filter :find_page, :except => [:new, :show, :create]
before_filter :find_body, :only => [:edit]
def new
@page = Page.new
@page.name=params[:name]
end
def edit
end
def show
if params[:id].to_i >0
@page = Page.find(params[:id] || Page.welcome)
else
id=Page.find_id(params[:id])
if id.nil?
redirect_to url_for(:path_only=>true,:controller=>"pages",:action=>"new", :name=>params[:id])
else
@page =Page.find(Page.find_id(params[:id]))
end
end
end
def create
@page = Page.new(params[:page])
if @page.save
flash[:notice] = "Successfully created page."
redirect_to @page
else
render :action => 'new'
end
end
def update
if @page.update_attributes(params[:page])
flash[:notice] = "Successfully updated page."
redirect_to @page
else
render :action => 'edit'
end
end
def destroy
@page.destroy
flash[:notice] = "Successfully destroyed page."
end
def preview
render :text => @page.preview(params[:data])
end
private
def find_page
@page = Page.find(params[:id])
end
def find_body
@page.body = params[:page][:body] rescue @page.raw_content
end
end