From b55fcbd1b687e143d325dd9b8e14c34836583446 Mon Sep 17 00:00:00 2001 From: unknown Date: Sat, 13 Feb 2010 11:32:15 -0700 Subject: [PATCH] Now sends all key/value pairs in h since it contains the Hash from the a argument. Also created a small test apps to illustrate the controller forwarding mechanis. --- test/apps/forward_to_other_controller.rb | 61 ++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 test/apps/forward_to_other_controller.rb diff --git a/test/apps/forward_to_other_controller.rb b/test/apps/forward_to_other_controller.rb new file mode 100644 index 0000000..29ec5eb --- /dev/null +++ b/test/apps/forward_to_other_controller.rb @@ -0,0 +1,61 @@ +gem 'camping', '=1.9.316' +require 'camping' + +Camping.goes :ForwardToOtherController + +module ForwardToOtherController + + module Controllers + + class Index < R '/' + attr_accessor :msg + + def get + puts "msg=#{@msg}" + puts "input=#{input.inspect}" + render :index + end + end + + class Start < R '/start' + def get + render :start + end + end + + class Welcome < R '/welcome' + def post + if input.name == '_why' + msg = "Wow you're back _why! This is front-page news!" + r *ForwardToOtherController.get(:Index, :msg => msg, :input => input ) + end + + @result = "Welcome #{input.name}!" + render :welcome + end + end + + end + + module Views + def index + h1 @msg if @msg && !@msg.empty? + a "Start", :href=> "/start" + end + + def start + h3 "Start" + + form :action=>R(Welcome), :method=>:post do + label "Who are you?", :for=>:name + div "Note: type _why if you want to test the forward logic otherwise just type your name", :style=>"color:green;font-size:8pt;" + input :type=>:text, :name=>:name; br + input :type=>:submit + end + end + + def welcome + div "#{@result}" + end + end +end