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 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
|
require 'rubygems'
require 'ramaze'
class MainController < Ramaze::Controller
engine :Liquid
def index
%{ {% anchor "Home" / %} |
{% anchor "internal" internal %} |
{% anchor "external" external %}}
end
def internal(*args)
set_liquid_variables(:internal, *args)
%q{
<html>
<head>
<title>Template::Liquid internal</title>
</head>
<body>
<h1>{{header}}</h1>
{{link_home}}
<p>
Here you can pass some stuff if you like, parameters are just passed like this:<br />
{{link_one}}<br />
{{link_two}}<br />
{{link_three}}
</p>
<div>
The arguments you have passed to this action are:
{% if args_empty %}
none
{% else %}
{% for arg in args %}
<span>{{arg}}</span>
{% endfor %}
{% endif %}
</div>
<div>
{{params}}
</div>
</body>
</html>
}
end
def external *args
set_liquid_variables(:internal, *args)
end
private
def set_liquid_variables(place, *args)
@header = "The #{place} Template for Liquid"
@link_home = a('Home', :/)
@link_one = a("#{place}/one")
@link_two = a("#{place}/one/two/three")
@link_three = a("#{place}?foo=Bar")
@args = args
@args_empty = args.empty?
@params = request.params.inspect
end
end
Ramaze.start :file => __FILE__
|