我在想,在我的部分的顶部,我会有这样的东西
<% optional_width = default_value unless (defined? optional_width)
但是,我的结果与此不一致,我认为这不是一个好办法.在轨道上做什么“正确”的方法是什么?
解决方法
在
ActionView::Base docs中读取传递局部变量到子模板部分
基本上它说你应该使用这种模式:
<% if local_assigns.has_key? :headline %> Headline: <%= headline %> <% end %>
对你而言,这可能会转化为:
<div style="width: <%= local_assigns.has_key?(:optional_width) ? optional_width : 500 %>px;"> <!-- filler --> </div>
重要!
根据文件
Testing using
defined? headline
will not work. This is an implementation restriction.