我正在使用 Ruby on Rails 3.2.13,我想在辅助方法中为对象数组呈现部分模板。也就是说,在我的帮助文件中,我有:
def render_articles(articles)
articles.each do |article|
render :partial => ...
end
end
但是,上述方法不返回部分模板,而是返回一个数组。我怎样才能正确渲染这些?
我正在使用 Ruby on Rails 3.2.13,我想在辅助方法中为对象数组呈现部分模板。也就是说,在我的帮助文件中,我有:
def render_articles(articles)
articles.each do |article|
render :partial => ...
end
end
但是,上述方法不返回部分模板,而是返回一个数组。我怎样才能正确渲染这些?
您拥有的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