是否可以将对象以外的选项传递给rabl部分?
例如,父模板将名为“show_field1”的选项传递给基本模板:
extends "base", :show_field1 => true
然后在base.rabl中可以使用这个选项:
attribute :field1 if @show_field1
我能够选择的唯一方法是通过这种可怕的方式来寻找隐藏的方法:
attribute :field1 if @_options[:show_field1]
答案 0 :(得分:1)
RABL通过使用特殊的locals
哈希来支持这一点:
# some_view.rabl
extends "base", locals: { show_field1: true }
# base.rabl
attribute :field1 if locals[:show_field1]
答案 1 :(得分:0)
另一种方法是将这些值存储在顶级对象上,并让扩展在模板中拾取它。
感谢recco @achiu