我想向用户展示为某个操作生成的xml。
考虑一下我有一个 PostController 和以下视图:
/views/posts/show.xml.builder
/views/posts/preview_xml.html.erb
在我的preview_xml
操作中,我希望能够解析show.xml.builder就像直接调用它并将结果输出到html中一样。
我知道 ERB 可以使用:
ERB.new(File.read(path_to_file)).result(bindings)
但我没有找到构建器
的工作等效项有没有其他人遇到这个?想要解决或解决的想法?
谢谢!
答案 0 :(得分: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