在 erb 中为 Chef 编写这样的逻辑的最简洁方法是什么?
<% if node[:ipynb][:NotebookApp][:certfile] %>
c.NotebookApp.certfile = <%= node[:ipynb][:NotebookApp][:certfile] %>
<% end %>
在 erb 中为 Chef 编写这样的逻辑的最简洁方法是什么?
<% if node[:ipynb][:NotebookApp][:certfile] %>
c.NotebookApp.certfile = <%= node[:ipynb][:NotebookApp][:certfile] %>
<% end %>
我不确定您的方法有什么问题,但是如果您想要单线,这应该可行:
<%= "c.NotebookApp.certfile = #{node[:ipynb][:NotebookApp][:certfile]}" if node[:ipynb][:NotebookApp][:certfile] %>
对于 Ruby 中的布尔表达式,nil
并且false
值转换为false
,其他一切都是true
. 如果您在 中有任何值node[:ipynb][:NotebookApp][:certfile]
,它将评估为 true 并打印字符串。否则,它将不打印任何内容。