Ruby on rails 使用Rabl仅呈现html

Ruby on rails 使用Rabl仅呈现html,ruby-on-rails,json,api,rabl,Ruby On Rails,Json,Api,Rabl,我正在试图弄清楚如何使用Rabl呈现仅仅html。我有一个没有对象的html分部,到目前为止,我所能看到的只是带有对象的分部的示例。如果我在没有对象的情况下尝试它,它(显然)会抛出一个错误 我得到的最接近的结果是: node(:content) do partial("api/v1/api/partials/tips") end 更新 最后,我就这样做了。很明显,对吧?由于某种原因,当我第一次尝试它时,它不起作用。因此,对于只发送API响应中的HTML,这非常有效 def tip

我正在试图弄清楚如何使用Rabl呈现仅仅html。我有一个没有对象的html分部,到目前为止,我所能看到的只是带有对象的分部的示例。如果我在没有对象的情况下尝试它,它(显然)会抛出一个错误

我得到的最接近的结果是:

node(:content) do
    partial("api/v1/api/partials/tips")
end

更新

最后,我就这样做了。很明显,对吧?由于某种原因,当我第一次尝试它时,它不起作用。因此,对于只发送API响应中的HTML,这非常有效

  def tips
    render partial: "api/v1/api/partials/tips"
  end

这可以通过在Rabl节点内渲染ERB模板来实现:

object @user

node(:html_content) do |user|
  @user = user
  template = Rails.root.to_s + '/app/views/api/users/show.html.erb'
  ERB.new(File.read(template)).result(self.binding)
end

这可以通过在Rabl节点内渲染ERB模板来实现:

object @user

node(:html_content) do |user|
  @user = user
  template = Rails.root.to_s + '/app/views/api/users/show.html.erb'
  ERB.new(File.read(template)).result(self.binding)
end

在rabl视图中,例如
show.v1.rabl
可以使用以下(
rails 4.1.2
)渲染局部视图:


在rabl视图中,例如
show.v1.rabl
可以使用以下(
rails 4.1.2
)渲染局部视图:


“用于生成JSON、XML、MessagePack、PList和BSON的系统。”-它没有提到生成HTML。为什么不使用常规ERB?部分是ERB。我需要将html发送到iOS应用程序,我愿意接受更好的想法:)。感谢您的输入。“用于生成JSON、XML、MessagePack、PList和BSON的系统”-它没有提到生成HTML。为什么不使用常规ERB?部分是ERB。我需要将html发送到iOS应用程序,我愿意接受更好的想法:)。谢谢你的意见。