避免在Rails视图中使用'raw'

时间:2012-03-05 15:17:47

标签: ruby-on-rails helpers

现在,我正在使用辅助方法 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 ,那么html将作为字符串返回给视图。

1 个答案:

答案 0 :(得分:3)

如果您确定内容始终可以安全地输出为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