I’m trying to add some executable code to my blog posts. How can I
include this inside of a blog post and eval it?
Charlie bowman
http://www.recentrambles.com
I’m trying to add some executable code to my blog posts. How can I
include this inside of a blog post and eval it?
Charlie bowman
http://www.recentrambles.com
On 5/23/06, Charlie B. [email protected] wrote:
I’m trying to add some executable code to my blog posts. How can I include this inside
of a blog post and eval it?
In my controller I have a method that does this:
@content = Content.find( :first, :conditions => [ ‘active = 1 AND
action = ?’, params[:id] ] )
Then in my view I have this:
<%= render_template ‘rhtml’, @content.body %>
I’m not sure I understand what you’re getting at. Currently I pull the
post from the database, pass it to a template and the text is displayed.
How could I embed a small block of code in that text that instead of
being displayed, it will be executed? Forgive me if that’s what your
already showing me.
On Tue, 2006-05-23 at 09:51 -0500, Greg D. wrote:
<%= render_template ‘rhtml’, @content.body %>
Charlie B.
http://www.recentrambles.com
what if I"m only evaling part of the blog post. Would I need to store
the executable code in a seperate field? I wouldn’t want to eval the
entire post.
On Tue, 2006-05-23 at 17:37 +0200, Simen wrote:
<%= render_template ‘rhtml’, @content.body %>
It’s a Ruby method that evaluates a string.
Charlie B.
http://www.recentrambles.com
Charlie B. wrote:
I’m not sure I understand what you’re getting at. Currently I pull the
post from the database, pass it to a template and the text is displayed.
How could I embed a small block of code in that text that instead of
being displayed, it will be executed? Forgive me if that’s what your
already showing me.On Tue, 2006-05-23 at 09:51 -0500, Greg D. wrote:
<%= render_template ‘rhtml’, @content.body %>
Charlie B.
http://www.recentrambles.com
Use eval:
<%= eval(@your_code_block) %>
It’s a Ruby method that evaluates a string.
On 5/23/06, Charlie B. [email protected] wrote:
I’m not sure I understand what you’re getting at. Currently I pull the post from
the database, pass it to a template and the text is displayed. How could I embed a
small block of code in that text that instead of being displayed, it will be executed?
Forgive me if that’s what your already showing me.
render_template will evaluate any embedded code you include.
First put all the Ruby code that shall be executable into a tag:
list = [1, 2, 3]
list.each do |one|
print one
end
So use a simple regex:
@blog.content = @blog.content.gsub(/<ruby>(.*?)</ruby>/) do |match|
match = eval($1)
end
–
Judofyr
Thanks, that will work perfectly! So simple, it went right over my
head!
On Tue, 2006-05-23 at 18:22 +0200, Magnus H. wrote:
match = eval($1)
end–
Judofyr
Charlie B.
http://www.recentrambles.com
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.
Sponsor our Newsletter | Privacy Policy | Terms of Service | Remote Ruby Jobs