blob: 1b134569768f18e35b4967abe9946fdd5f5aa8c3 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
class ContentController < ApplicationController
# Public
before_filter :find_page
# This is the method that renders most of the the public content. It recieves
# a :locale and a :page_path parameter through the params hash. It looks up
# the node with the corresponding unique_name attribute. The method doesn't
# return a node though, the node is really a proxy object for pages. It
# returns the most recent page associated to this node instead.
def render_page
expires_in 20.minutes, :public => true
if @page and @page.public?
render(
:file => @page.valid_template,
:layout => true
)
else
render(
:file => File.join(RAILS_ROOT, 'public', '404.html'),
:status => 404
)
end
end
def render_gallery
unless @page.nil?
@images = @page.assets.images
render :file => "content/gallery"
else
render :nothing => true, :status => 404
end
end
private
def find_page
path = params[:page_path].join('/')
@page = Node.find_page(path)
end
end
|