4

オブジェクト以外のオプションを rabl パーシャルに渡すことは可能ですか?

たとえば、親テンプレートは「show_field1」というオプションをベース テンプレートに渡します。

extends "base", :show_field1 => true

次に、base.rabl でオプションを次のように使用できます。

attribute :field1 if @show_field1

私がこのオプションにたどり着くことができた唯一の方法は、カバーの下を見るというこの恐ろしいアプローチによるものです。

attribute :field1 if @_options[:show_field1]
4

2 に答える 2

1

RABL は、特別なlocalsハッシュを使用してこれをサポートします。

# some_view.rabl
extends "base", locals: { show_field1: true }

# base.rabl
attribute :field1 if locals[:show_field1]

この件に関する RABL ドキュメント

于 2014-01-21T18:23:05.880 に答える
0

もう1つの方法は、これらの値を最上位のオブジェクトに格納し、extendにテンプレートで取得させることです。

レッコ@achiuをありがとう

于 2013-03-05T15:55:32.957 に答える