Sha256: bd59a17a1c36c2092cdb5bf88de6f54806605157662d0447f94bc7b9c8e5f6c7

Contents?: true

Size: 1.05 KB

Versions: 1

Compression:

Stored size: 1.05 KB

Contents

<%
  local_assigns[:name] ||= get_attribute_name(form, key)
  local_assigns[:id] ||= get_attribute_id_prefix(form, key)
  local_assigns[:items] ||= local_assigns[:choices].map { |choice| { value: choice, text: choice } }

  if local_assigns[:include_blank] || local_assigns[:is_autocomplete]
    local_assigns[:items].unshift(value: nil, text: "")
  end

  if local_assigns[:selected]
    item_matching_selected = local_assigns[:items].find { |item| item[:value].to_s == local_assigns[:selected] }
    item_matching_selected[:selected] = true if item_matching_selected
  elsif form.object&.respond_to?(key)
  # Make item selected based on attribute value
    item_matching_state = local_assigns[:items].find { |item| item[:value].to_s == form.object.send(key).to_s }
    item_matching_state[:selected] = true if item_matching_state
  end

  if form.object&.errors
    error_text = form.object.errors.full_messages_for(key).first.presence
    local_assigns[:errorMessage] ||= { text: error_text } if error_text
  end
%>

<%= render "components/govuk_select", **local_assigns %>

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
govuk-design-system-rails-0.10.1 app/views/form_components/_govuk_select.html.erb