1
有时候在我的模板,我想对于一些CSS属性定义默认值时,这些值作为参数在渲染功能不通过,像这样:最佳方式
height: <%= if @height do %><%[email protected]%><% else %>"50px";<%end%>
我我想知道是否有更好的(不太详细的)做这件事的方法。
有时候在我的模板,我想对于一些CSS属性定义默认值时,这些值作为参数在渲染功能不通过,像这样:最佳方式
height: <%= if @height do %><%[email protected]%><% else %>"50px";<%end%>
我我想知道是否有更好的(不太详细的)做这件事的方法。
您可以使用一个事实,即
@
变量也可以通过一个名为assigns
地图访问,||
返回右边值,如果左侧是nil
,和写:
<%= assigns[:height] || "50px" %>
,以获得相同的行为,你的if
/else
。
编辑:
<%= @height || "50px" %>
上面的代码将工作,即使没有设置任何:如果你总是设置,即使值为nil
,你可以用较小甚至代码做到这一点值,但如果未设置,则会引发异常。