Tin*_*n81 -1 ruby ruby-on-rails actiondispatch
在我的 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 %>
Run Code Online (Sandbox Code Playgroud)
但是它会抛出一个错误:
Undefined method 'slice' for #<ActionDispatch::Flash::FlashHash:0x0818>
Run Code Online (Sandbox Code Playgroud)
有谁知道我可能会遗漏什么或如何让它发挥作用?
flash不是哈希。它是一个行为(部分)像哈希的对象。没有slice方法可以解决。
目前还不清楚你想在slice这里完成什么(因为你没有输出结果,而且结果无论如何输出都没有意义)但是如果你试图实现sliceHash 将实现的目标,你可以只需创建一个新的哈希:
<% { tutorial: flash[:tutorial] } %>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1307 次 |
| 最近记录: |