dblack@wobblini.net wrote:
>
> I can see what kind of problem you're trying to solve, but in this
> case I can't seem to see beyond:
>
> ar_object.do_something
> cgi_object.do_something_next
>
> which means I'm not seeing how the program is designed. Can you
> elaborate? It might even help to see the global variable version, so
> that I can see where in the code the two objects are and why they have
> to be aware of each other.
>
>
> David
>
Here is the part of the code I am interested in:
require 'cgi'
require 'rubygems'
require_gem 'activerecord'
comment_cgi = CGI.new
@article = comment_cgi['article']
@user = comment_cgi['user']
@comment = comment_cgi['comment']
class Comment < ActiveRecord::Base
after_save :redirect
def redirect
$ok = 'yes'
end
end
new_Comment = Comment.create(
:article_id => @article,
:user_id => @user,
:comment => @comment)
if $ok == 'yes'
comment_cgi.out {"foo"}
else
comment_cgi.out {"problem."}
end
So what I am doing here is "after_save :redirect" is setting the global
variable $ok to "yes" if the Comment object was successful in its
dealings with the database. Then the conditional statement turns
control back over to the CGI object allowing it to proceed (ultimately
with a page redirect).
I know I am reinventing the wheel here because Rails make this kind of
thing so easy but I am avoiding Rails at this point so I can really dig
into the Ruby language and understand it.
Thank you. TOD