2011-05-11 67 views
0

我想向我的用户显示为特定操作生成的xml。在.html.erb文件中显示从.xml.builder文件生成的xml

想想看,我有一个PostController中及以下观点:

  • /views/posts/show.xml.builder
  • /views/posts/preview_xml.html.erb

在我preview_xml行动我希望能够解析show.xml。就像直接调用它并将结果输出到html中一样。

我知道有ERB有可能用:

ERB.new(File.read(path_to_file)).result(bindings) 

但我还没有找到工作等效生成器

有没有其他人遇到这样?想法解决或解决?

谢谢!

回答

2

想通了通过阅读Rails的模板引擎:

我preview_xml方法如下所示:

class PostsController < ApplicationController 
    include :Helpers::TagHelper 

    def preview_xml 
    @post = Post.find(params[:id]) 
    xml = ::Builder::XmlMarkup.new(indent: 2) 
    builder_file = File.read(::Rails.root.to_s + '/app/views/posts/show.xml.builder') 
    require 'builder' 
    instance_eval builder_file 
    @tag_xml = xml.target! 
    end 

end