Class: Admin::PagesController
- Inherits:
-
AdminController
- Object
- ActionController::Base
- SlicesController
- AdminController
- Admin::PagesController
- Defined in:
- app/controllers/admin/pages_controller.rb
Instance Method Summary collapse
Methods inherited from SlicesController
Instance Method Details
#create ⇒ Object
19 20 21 22 23 24 25 |
# File 'app/controllers/admin/pages_controller.rb', line 19 def create @page = new_page_class.make(params[:page]) @layouts = [['Default', 'default']] respond_with(:admin, @page) do |format| format.html { redirect_to admin_page_path(@page) } end end |
#destroy ⇒ Object
64 65 66 67 68 69 70 71 |
# File 'app/controllers/admin/pages_controller.rb', line 64 def destroy @page = Page.find_by_id!(params[:id]) @page.destroy respond_to do |format| format.html { redirect_to admin_site_maps_path } format.json { head :no_content } end end |
#new ⇒ Object
11 12 13 14 15 16 17 |
# File 'app/controllers/admin/pages_controller.rb', line 11 def new @page = Page.new(parent_id: params[:parent_id]) # TODO: change parent_id to path @layouts = Layout.all respond_with(:admin, @page) do |format| format.html { render layout: !request.xhr? } end end |
#show ⇒ Object
27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'app/controllers/admin/pages_controller.rb', line 27 def show page = Page.find_by_id!(params[:id]) @page = presenter_class(page.class).new(page) @layout = Layout.new(page.layout) respond_with(:admin, @page) do |format| format.json do render json: as_json_for_page(page) end format.hbs do hbs_path = if params[:slice] File.join(params[:slice], 'templates', params[:template]) else params[:template] end render hbs_path end end rescue Page::NotFound redirect_to admin_site_maps_path end |
#update ⇒ Object
49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
# File 'app/controllers/admin/pages_controller.rb', line 49 def update @page = Page.find_by_id!(params[:id]) if entry_page? params[:page][:set_slices] = params[:page].delete(:slices) end @page.update_attributes(params[:page]) if @page.valid? render json: as_json_for_page(@page) else render json: @page.errors.as_json, status: 422 end end |