ruby-on-rails – 如何在rails中的部分模板中添加可选的局部变量?

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 如何在rails中的部分模板中添加可选的局部变量?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在想,在我的部分的顶部,我会有这样的东西
<% 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.

猜你在找的Ruby相关文章