Как избежать использования «raw» в представлении Rails - PullRequest
1 голос
/ 05 марта 2012

Сейчас я использую вспомогательный метод raw для вывода содержимого из вспомогательного метода

Вот мой взгляд:

%ul.unstyled.barges.sortable.connectedSortable.ui-widget-content
  = raw show_list(list, columns)

А вот и мой помощник:

def show_list(list, columns)
  content = ""
    0.upto(columns) do |c|
      content << render(:partial => 'barges/barge', :locals => {:barge => list.select{|barge| barge.location_column == c}.first})
    end
  content
end

Есть ли способ устранить необходимость использовать raw? Если я не использую raw , HTML-код будет возвращен в виде строки для представления.

1 Ответ

3 голосов
/ 05 марта 2012

Если вы уверены, что контент всегда будет безопасным для вывода в виде HTML (т.е. без ввода данных пользователем), вы можете вернуть content как html_safe от вашего помощника:

def show_list(list, columns)
  content = ""
    0.upto(columns) do |c|
      content << render(:partial => 'barges/barge', :locals => {:barge => list.select{|barge| barge.location_column == c}.first})
    end
  content.html_safe
end
...