-
-
Notifications
You must be signed in to change notification settings - Fork 1k
Fix empty view rendering #1557
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix empty view rendering #1557
Conversation
super | ||
end | ||
end | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Doesn't this just end up adding an uninitialised EmptyTemplateResolver
to the view paths array?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes but that's the point, the parts of this that are used are here and don't depend on initialisation.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This bit is to fix #1551 isn't it? If so adding your custom resolver instance to the view path with result in an instance of EmptyTemplateResolver
with a nil
path instance variable instead. I thought the idea would be to put the custom resolver into the path without wrapping it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We don't want a custom resolver in the path, the aim is to disable view rendering, my understanding is that would do the opposite.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, but it'd generate template missing errors because find_templates
would be called on the EmptyTemplateResolver
instance and not the custom resolver instance.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Well we need to find a way to pass the details of the resolver down into that implementation without loosing this subclass, alternatively we could monkey patch the instance of the resolver with the required methods but I'd rather not do that, that seems dangerous
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The problem is that when path
is a Resolver
instance, it knows how to look up templates. And the super
call in this EmptyTemplateResolver#find_templates
doesn’t call up to that resolver.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Closed in prerferance to #1580 |
This fixes two regressions that were introduced by #1535.
Closes #1556
Closes #1551
/cc @samphippen @pixeltrix