# AST on Rails

**URL:** <https://www.ruby-forum.com/t/ast-on-rails/140138>\
**Category:** Rails\
**Created:** [June 11, 2008, 9:08am UTC](https://www.ruby-forum.com/t/ast-on-rails/140138 "2008-06-11T09:08:40Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![drweb](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/e274bd/32.png) [@drweb](https://www.ruby-forum.com/u/drweb)\
**Post date:** [June 11, 2008, 9:08am UTC](https://www.ruby-forum.com/t/ast-on-rails/140138/1 "2008-06-11T09:08:40Z")

</div>

Hi All!

Following code is working perfectly on Ruby IDE, can anyone tell me how  
will it works on Ruby on Rails. Because when i run it using ruby on  
rails, it is not displaying anything and also no errors. Even I have  
properly include rubygems and ruby\_parser. Even Rails server stops  
working

\<%  
require “rubygems”  
require “ruby\_parser”

sexpfaulty1 = RubyParser.new.parse(File.read(“faulty\_0.rb”))

%\>

\<%= sexpfaulty1 %\>

---

<div class="post-metadata">

**Author:** ![drweb](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/e274bd/32.png) [@drweb](https://www.ruby-forum.com/u/drweb)\
**Post date:** [June 11, 2008, 11:54am UTC](https://www.ruby-forum.com/t/ast-on-rails/140138/2 "2008-06-11T11:54:03Z")

</div>

On Jun 11, 8:08 am, Michel J. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
wrote:

> require “ruby\_parser”
> 
> sexpfaulty1 = RubyParser.new.parse(File.read(“faulty\_0.rb”))
> 
> %\>

Why stick this in the view? Have you checked what the current  
directory is when this executes

> \<%= sexpfaulty1 %\>  
> You should escape this (with h) as if it contains invalid markup the  
> browser might get confused.

Fred

---

<div class="post-metadata">

**Author:** ![drweb](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/e274bd/32.png) [@drweb](https://www.ruby-forum.com/u/drweb)\
**Post date:** [June 11, 2008, 12:42pm UTC](https://www.ruby-forum.com/t/ast-on-rails/140138/3 "2008-06-11T12:42:28Z")

</div>

\<%  
require “rubygems”  
require “ruby\_parser”  
ast = RubyParser.new.parse(File.read(“faulty\_0.rb”))  
print ast  
%\>  
\<%=h sexpfaulty1 %\>

This code have the same previous problem. However, “print ast” showing  
sexp(AST) in background, but not on the web browser. So definitly, there  
is some escape problem. I tried “\<%=h” but no effect yet.

/Michal

Frederick C. wrote:

> On Jun 11, 8:08ï¿½am, Michel J. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
> wrote:
> 
> > require “ruby\_parser”
> > 
> > sexpfaulty1 = RubyParser.new.parse(File.read(“faulty\_0.rb”))
> > 
> > %\>
> 
> Why stick this in the view? Have you checked what the current  
> directory is when this executes
> 
> > \<%= sexpfaulty1 %\>  
> > You should escape this (with h) as if it contains invalid markup the  
> > browser might get confused.
> 
> Fred
