1

我正在使用 Ruby on Rails 3.2.13,我想在辅助方法中为对象数组呈现部分模板。也就是说,在我的帮助文件中,我有:

def render_articles(articles)
  articles.each do |article|
    render :partial => ...
  end
end

但是,上述方法不返回部分模板,而是返回一个数组。我怎样才能正确渲染这些?

4

1 回答 1

1

您拥有的each块不返回块的内容,而是返回数组本身。您需要一种机制来返回内容。

一个方法:

def render_articles(articles)
  html = ""
  articles.each do |article|
    html += render :partial => ...
  end
  html.html_safe
end

另一种方法:

def render_articles(articles)
  articles.inject("") { |html, article| html + render :partical =>... }.html_safe
end
于 2013-09-20T15:40:06.690 回答