Jan*_*nak 14 ruby ruby-on-rails
我觉得在我偏爱的顶端,我会有这样的东西
<% optional_width = default_value unless (defined? optional_width)
Run Code Online (Sandbox Code Playgroud)
但是我对此有不一致的结果,我认为这不是一个很好的方法.在rails中执行此操作的"正确"方法是什么?
mač*_*ček 23
阅读ActionView :: Base文档中的将局部变量传递给子模板部分
基本上它说你应该使用这种模式:
<% if local_assigns.has_key? :headline %>
Headline: <%= headline %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
对你而言,这可能会转化为:
<div style="width: <%= local_assigns.has_key?(:optional_width) ? optional_width : 500 %>px;">
<!-- filler -->
</div>
Run Code Online (Sandbox Code Playgroud)
根据文件
使用测试
defined? headline不起作用.这是一个实施限制.