未定义的方法 'slice'

Undefined method 'slice'

在我的 Rails 4.2.0 应用程序中,我在视图模板中包含以下代码:

<% if flash[:tutorial].present? %>
  <% flash.slice(:tutorial) %>
<% end %>

<% flash.each do |name, msg| %>
  <div class="flash <%= name %>">
    <p> 
      <%= msg %>
    </p>
  </div>
<% end %>

但是它抛出一个错误:

Undefined method 'slice' for #<ActionDispatch::Flash::FlashHash:0x0818>

有谁知道我可能遗漏了什么或如何让它发挥作用?

flash 不是哈希。它是一个行为(部分)像哈希的对象。上面没有slice方法。

不清楚您在此处使用 slice 试图完成什么(因为您没有输出结果,而且无论如何输出结果都没有意义)但是如果您尝试实现 sliceing 哈希将实现的目标,您可以简单地创建一个新的哈希:

<% { tutorial: flash[:tutorial] } %>