0

Rabl で htmlだけをレンダリングする方法を見つけようとしています。オブジェクトのない html パーシャルがありますが、これまでのところ、オブジェクトを含むパーシャルの例しかありません。オブジェクトなしで試してみると、(明らかに) エラーがスローされます。

私が得た最も近いものは次のとおりです。

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

Rabl のドキュメントは次のとおりです。

アップデート

私はこれで下に行きました。当然ですよね?最初に試したとき、なぜかうまくいきませんでした。したがって、API 応答で HTML のみを送信する場合、これはうまく機能します。

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

2 に答える 2

3

たとえば、rabl ビューでは、次の ( )show.v1.rablを使用してビューを部分的にレンダリングできます。rails 4.1.2

object @your_object

code :html do
  context_scope.controller.render_to_string(

     # from app/views/
    partial: 'path/to/show.html.erb',

     # locals (if needed)
    locals: { 
      your_object: @your_object
    }

  )
end
于 2014-09-27T20:04:16.273 に答える
0

これは、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
于 2013-10-30T15:32:00.927 に答える