undefined метод `safe_concat 'для []: массив в рельсах 3 - PullRequest
0 голосов
/ 25 июня 2011

Я пытаюсь выполнить частичную флэш-память следующим образом:

<% flash.each do |key, value| %>
  <div class="flash <%= "#{key}" %>"><%= "#{value}" %></div>
<% end %>

И получаю следующую ошибку:

undefined method `safe_concat' for []:Array

Частично обновляется через ajax-запрос следующим образом:

page.replace_html "flash_messages", :partial => 'layouts/flash', :locals => { :flash => flash }

Есть идеи? Я никогда не видел ничего подобного раньше.

Спасибо.

1 Ответ

0 голосов
/ 25 июня 2011

Разве это не должно быть следующим?

<% flash.each do |key, value| %>
  <div class="flash #{key}"><%= value %></div>
<% end %>

Нет необходимости заключать key и value в "#{}". Я полагаю, что вложенная <> заставила его задушить вашу строку.

Я не могу попробовать, поэтому я не знаю, может ли он на самом деле получить доступ к key за пределами <% %>, поэтому, возможно, вам понадобится что-то вроде:

<% flash.each do |key, value| %>
  <% class_names = "flash #{key}" %>
  <div class="<%= class_names %>"><%= value %></div>
<% end %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...