Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
是否可以将对象以外的选项传递给 rabl 部分?
例如,父模板将一个名为“show_field1”的选项传递给基本模板:
extends "base", :show_field1 => true
然后在 base.rabl 中,可以像这样使用该选项:
attribute :field1 if @show_field1
我能够选择的唯一方法是通过这种可怕的方法来查看幕后:
attribute :field1 if @_options[:show_field1]
RABL 通过使用特殊的locals哈希来支持这一点:
locals
# some_view.rabl extends "base", locals: { show_field1: true } # base.rabl attribute :field1 if locals[:show_field1]
关于该主题的 RABL 文档
另一种方法是将这些值存储在顶级对象上,并让扩展在模板中提取它。
感谢@achiu的recco