如何在jbuilder视图中返回空字符串而不是null?

tom*_*nek 5 ruby json ruby-on-rails jbuilder

我有简单的jbuilder视图

json.id pharmaceutic.id
json.name pharmaceutic.name
json.dosage pharmaceutic.dosage.name
Run Code Online (Sandbox Code Playgroud)

什么时候 pharmaceutic.dosage => nil

我呈现的json如下所示:

{"id":1,"name":"HerzASS ratiopharm","dosage":null}
Run Code Online (Sandbox Code Playgroud)

我想为所有jBuilder视图设置一些属性,nil它应该呈现为空字符串.

{"id":1,"name":"HerzASS ratiopharm","dosage":""}
Run Code Online (Sandbox Code Playgroud)

怎么实现呢?

小智 5

nil.to_s #=> "" 所以,你可以简单地添加 .to_s

json.id pharmaceutic.id
json.name pharmaceutic.name.to_s
json.dosage pharmaceutic.dosage.name.to_s
Run Code Online (Sandbox Code Playgroud)

  • 这是一个很好的解决方案,但我正在寻找一个答案,我不需要为所有500个属性添加``to_s``. (8认同)