#svelte_component
Renders a Svelte component in a Rails view.
Usage
<%= svelte_component 'HelloWorld', { title: 'Hello World' }, html: {}, options: {} %>
This requires ruby 3x! For older rubies see svelte_component_ruby2
Arguments
- Component Path (1. Argument, String, required)
- Path to component (without
.svelte), relative to configuredcomponents_folder(e.g.,path/to/MyComponent).
- Path to component (without
- props (second Argument, Hash, optional)
- Parsed to Svelte and available as
$propsthere.
- Parsed to Svelte and available as
- html (Hash, optional)
- options for the HTML tag that wrapps the svelte-component
- options (Hash, optional):
ssr(Boolean or:auto): Enables server-side rendering.:autotriggers SSR only on initial request (detected via configured header, e.g.,X-Turbo-Request-IDfor Turbo).hydrate(Boolean): Enables client-side hydration.debug(Boolean): Enables debug mode.
Behavior
- SSR: Renders component server-side if
ssr: trueor:auto(on initial request). - Client-Side: Renders an empty tag for frontend build/hydration, managed by a Stimulus controller from the
@csedl/svelte-on-railsnpm package.