Is there any way, short of lot of log statements, to trace the execution of
rails code? Th reason I'm asking has to do with name space, inheritance and
over-riding functions.
I'm preprocessing text before handing it to Redcloth so I have
@text_to_render = MyRender.new( @text.to_s )
and
class MyRender
...
def render(...)
...
end
....
end
Not I know what
@text_to_render.render
refers to
but what is and isn't over-ridden?
If I use any of the depreciated Rails 'render_' family that eventually calls
'render()' will this over-ride them? Will it only NOT over-ride them if I
invoke it with a MyRender class object
@text_to_render.render( :action => ....
and
render( :action => ...
Or, to ask it another way. How can I override the Rails render and do a
def render( @args )
... do my stuff ...
optionally call the Rails 'render'
... do more of my stuff
end
Yes, this makes it very clear what code is executed in the controller and
what code is executed in the view
Which begs the question - where's the best place for code?
Obviously there the app/controller and app/model but how should one treat
app/helpers and /lib ??
If I do this in my project directory, I get this output:
rdebug script/server
./script/server:2: require File.dirname(__FILE__) + '/../config/boot'
(rdb:1) help
ruby-debug help v.0.7.5
Available commands:
backtrace break catch cont delete display down eval exit finish frame
irb list method next p pp quit reload restart save script set step
tmate trace undisplay up var where
(rdb:1)
So, rdebug is running. But I don't get any response on localhost:3000.
I'm running mongrel if that makes a difference. A regular invocation of
script/server gives me:
=> Booting Mongrel (use 'script/server webrick' to force WEBrick)
=> Rails application starting on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
** Starting Mongrel listening at 0.0.0.0:3000
** Starting Rails with development environment...
** Rails loaded.
** Loading any Rails specific GemPlugins
** Signals ready. TERM => stop. USR2 => restart. INT => stop (no
restart).
** Rails signals registered. HUP => reload (without restart). It might
not work well.
** Mongrel available at 0.0.0.0:3000
** Use CTRL-C to stop.
Would really like to check out ruby-debug, but I'm kind of stumped on this.