You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When SQLPage encounters an each_row helper, it splits the template at that point using the split_template function. This function extracts the content inside the each_row block into a separate template (list_content), with everything before it going into before_list and everything after into after_list.
The problem occurs because inline partials defined with {{#*inline "name"}}...{{/inline}} are registered in the Handlebars registry during the initial template parsing. However, when the template is split, these inline partial definitions remain in the before_list section, but the list_content template (which contains your each_row content) becomes a separate template context that doesn't have access to those inline partials.
In the render_item method of SplitTemplateRenderer, when it tries to render each row, it's using the isolated list_content template which can't see the inline partials defined in the parent template.
This is why you're seeing the "Partial not found item" error - the {{> item }} reference inside your each_row block is looking for a partial that isn't accessible from that context.
Possible workarounds:
Use direct HTML in the each_row block instead of a partial
Define the partial inside #each_row
This is a limitation of how SQLPage processes templates to support its streaming row-by-row rendering model, which is different from standard Handlebars processing.
Thank you @lovasoa for this detailed answer. This is very useful information indeed. Workaround 1 is not applicable to our use case, as it would lead to a lot of hard-to-maintain duplication of code. Workaround 2, even though not ideal, is a workable solution. So, thanks again and keep up the good work!
Introduction
"each_row" helper cannot contain calls to inline partials.
To Reproduce
Actual behavior
After following these steps, this error message shows up on the web page:
Version information
The text was updated successfully, but these errors were encountered: