Type:
Module

Utility module to define eRuby script as instance method.

Example

example.rhtml:

1
2
3
<% for item in @items %>
<b><%= item %></b>
<% end %>

example.rb:

1
2
3
4
5
6
7
8
9
require 'erb'
class MyClass
  extend ERB::DefMethod
  def_erb_method('render()', 'example.rhtml')
  def initialize(items)
    @items = items
  end
end
print MyClass.new([10,20,30]).render()

result:

1
2
3
4
5
<b>10</b>
 
<b>20</b>
 
<b>30</b>
def_erb_method
  • References/Ruby on Rails/Ruby/Classes/ERB/ERB::DefMethod

def_erb_method(methodname, erb_or_fname) Class Public methods define methodname

2025-01-10 15:47:30