Har*_*tty 4 ruby ruby-on-rails rabl
我有一个RABL模板,如下所示
object @user
attributes :name
child :contacts do
# does not work
if contact.is_foo?
attributes :a1, :a2
else
attributes :a3, :a4
end
end
Run Code Online (Sandbox Code Playgroud)
如何访问Contact模板块中的对象child?我需要在子实例上执行一些条件逻辑.
Har*_*tty 10
您可以通过声明block参数来访问当前对象.
object @user
attributes :name
child :contacts do |contact|
if contact.is_foo?
attributes :a1, :a2
else
attributes :a3, :a4
end
end
Run Code Online (Sandbox Code Playgroud)
我最终使用了该root_object 方法,该方法返回给定上下文中的数据对象.
object @user
attributes :name
child :contacts do
if root_object.is_foo?
attributes :a1, :a2
else
attributes :a3, :a4
end
end
Run Code Online (Sandbox Code Playgroud)