Add with_slot_content helper for renders_one slots #1175
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Summary
This PR adds a new method for every
renders_oneslot that lets you set the content of the slot directly on the parent instance.Other Information
This API was suggested by @joelhawksley after looking at a component of mine that was attempting to allow setting the content of two slots both via arguments to the component initializer, and via a block.
The suggested framework solution for supporting a pattern like this was to add a helper on the component instance that allowed setting the slot content via a method argument. Here, I propose
with_#{slot_name}_contentas a possible option.With the changes in this PR, my above component definition would become:
And the usage of the component could then become:
And the complex use case example would retain the same block based API as before.