我想向我的用户展示为某个操作生成的xml。
考虑我有一个后控制器和以下视图:
-
/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)
但是我还没有找到构建器的工作等效项
还有其他人遇到过这种情况吗? 需要解决或解决的想法?
谢谢!
通过阅读 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