Ruby on rails 有没有办法让常规ruby类使用erb/haml模板?

Ruby on rails 有没有办法让常规ruby类使用erb/haml模板?,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,基本上,我有一个输出一些html的类: class Foo include ActionView::Helpers def initialize(stuff) @stuff = stuff end def bar content_tag :p, @stuff end end 所以我可以做:Foo.new(123.bar) 然后得到“123” 。。。但我真正想做的是这样的: class Foo << ActionView::Base d

基本上,我有一个输出一些html的类:

class Foo
  include ActionView::Helpers

  def initialize(stuff)
    @stuff = stuff
  end

  def bar
    content_tag :p, @stuff
  end

end
所以我可以做:Foo.new(123.bar)

然后得到“123

。。。但我真正想做的是这样的:

class Foo << ActionView::Base

  def initialize(stuff)
    @stuff = stuff
  end

  def bar
    render :template => "#{Rails.root/views/foo/omg.html.erb}"
  end

end

# views/omg.html.erb

<h1>Wow, stuff is <%= @stuff %></h1>
class Foo“#{Rails.root/views/Foo/omg.html.erb}”
结束
结束
#视图/omg.html.erb
哇,真是太棒了
然后做Foo.new(456.bar)并得到“哇,东西是456”

直接打电话好吗?比如:

def bar
  template = ERB.new(File.read("#{Rails.root}/views/foo/omg.html.erb"))
  template.result(binding)
end

试试看可能会有帮助。我想你不知道怎么做,而是渲染一个haml模板?