From: Boris Glawe Date: 2005-06-21T06:20:35+09:00 Subject: cgi question Hi, the following code results in NoMethodError, when being executed as a cgi script. The reason is the line "+ cgi.b {"hello world in bold"}" at the bottom. Can anybody explain me, what's happening here? The preceding block simply returns a (html) string, containing a form, which is concatenated with "hello world in bold" Do you have any idea? thanks Boris #!/usr/bin/ruby require "cgi" cgi=CGI.new("html4") cgi.out { CGI.pretty( cgi.html{ cgi.head{ cgi.title{ "testpage" } } + cgi.body{ cgi.form{ cgi.table( {'border' => '1'} ){ cgi.tr { cgi.td{ "hello"} + cgi.td {"world"} } # end tr } # end table } # end form + cgi.b {"hello world in bold"} } # end head } # end html ) # end CGI#pretty } # end cgi.out ############################################################# the error message: # ./test.rb (offline mode: enter name=value pairs on standard input) ../test.rb:24: undefined method `+@' for "hello world in bold":String (NoMethodError) from ./test.rb:15:in `body' from ./test.rb:15 from ./test.rb:11:in `html' from /usr/lib/ruby/1.8/cgi.rb:1653:in `html' from /usr/lib/ruby/1.8/cgi.rb:1653:in `html' from ./test.rb:11 from ./test.rb:8:in `out' from ./test.rb:8