Ruby on rails 有没有办法让常规ruby类使用erb/haml模板?
基本上,我有一个输出一些html的类: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
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模板?