提交 8f9e9118 编写于 作者: J José Valim

Make collection rendering faster.

上级 b2600bfc
......@@ -50,7 +50,7 @@ def view_context_class
if controller.respond_to?(:_helpers)
include controller._helpers
if controller.respond_to?(:_routes)
if controller.respond_to?(:_routes) && controller._routes
include controller._routes.url_helpers
include controller._routes.mounted_helpers
end
......
......@@ -307,12 +307,12 @@ def collection_with_template
def collection_without_template
segments, locals, collection_data = [], @locals, @collection_data
index, template = -1, nil
index, template, cache = -1, nil, {}
keys = @locals.keys
@collection.each_with_index do |object, i|
path, *data = collection_data[i]
template = find_template(path, keys + data)
template = (cache[path] ||= find_template(path, keys + data))
locals[data[0]] = object
locals[data[1]] = (index += 1)
segments << template.render(@view, locals)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册