在.html.erb文件中显示从.xml.builder文件生成的xml
问题描述:
我想向我的用户显示为特定操作生成的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)
但我还没有找到工作等效生成器
有没有其他人遇到这样?想法解决或解决?
谢谢!
答
想通了通过阅读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