Skip to main content
Helper methods available in the Admin Dashboard for navigation, links, and utility functions.
For UI components that render HTML elements (Dropdowns, Dialogs, Icons, etc.), see the Components documentation.
Creates a navigation item with optional icon.
With a block for custom content:
Creates a link with an icon.
Same as link_to_with_icon, but adds the active class if the current page matches the URL.
Renders an edit button for a resource. Only renders if the user has update permission.
Renders a delete button with confirmation. Only renders if the user has destroy permission.

button

Renders a submit button with optional icon and loading state.
Renders an external link that opens in a new tab with an indicator icon.
With a block:
Renders a link to preview a resource on the storefront.

page_header_back_button

Renders a back button for page headers with smart return URL handling.

per_page_dropdown

Renders a dropdown for selecting items per page on index pages.
Automatically detects the resource type and provides appropriate options based on configuration. Renders a button to open the export modal. Only renders if user can create exports.

Store Helpers

Helpers for store-specific options and unit systems.

weight_units

Returns weight unit options based on the store’s unit system.
Returns:
  • Metric: [["Kilogram", "kg"], ["Gram", "g"]]
  • Imperial: [["Pound", "lb"], ["Ounce", "oz"]]

dimension_units

Returns dimension unit options based on the store’s unit system.
Returns:
  • Metric: [["Centimeter", "cm"], ["Millimeter", "mm"]]
  • Imperial: [["Inch", "in"], ["Foot", "ft"]]

unit_systems

Returns available unit system options.
Returns: [["Metric System", "metric"], ["Imperial System", "imperial"]]

display_on_options

Returns display location options for calculators and payment/shipping methods.
Returns: [["Both", "both"], ["Backend", "back_end"], ["Frontend", "front_end"]]

Turbo Helpers

Helpers for Turbo Streams and Turbo-enhanced forms.

turbo_close_dialog

Returns a Turbo Stream response that closes the main dialog.

turbo_render_alerts

Returns a Turbo Stream response that updates the alerts frame.

turbo_save_button_tag

Creates a save button with loading state for Turbo forms.
Features:
  • Shows spinner during submission
  • Integrates with turbo-submit-button Stimulus controller
  • Prevents double submissions

Context Helpers

current_store

Returns the current store instance.
Spree::Store

current_currency

Returns the currently selected currency for the admin session.

current_vendor

Available only in Spree Enterprise Edition.
Spree::Vendor

supported_currencies

Returns the list of supported currencies for the current store.

try_spree_current_user

Returns the current user object or nil if not signed in.

available_countries_iso

Returns ISO codes for countries available for checkout in the current store.

Utility Helpers

flag_emoji

Returns the flag emoji for a country ISO code.

required_span_tag

Renders a red asterisk indicator for required fields.
Renders: <span class="required font-weight-bold text-danger"> *</span>

error_message_on

Renders validation error messages for a form field.
Renders: <span class="formError">can't be blank</span>

settings_area?

Returns true if the current page is in the settings area.

enterprise_edition?

Returns true if Spree Enterprise Edition is installed.

allowed_file_types_for_upload

Returns allowed file types for Active Storage uploads.

render_admin_partials

Renders all registered partials for an injection point.
See Extending UI for more information about injection points.

Preference Helpers

Helpers for rendering preference fields in settings forms.

preference_fields

Renders all preference fields for an object.

preference_field

Renders a single preference field.

preference_field_for

Renders a form field based on preference type.