Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • A administrate
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 96
    • Issues 96
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 32
    • Merge requests 32
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • thoughtbot, inc.
  • administrate
  • Issues
  • #244
Closed
Open
Issue created Nov 16, 2015 by Administrator@rootContributor

Has_many not populated with existing values in edit

Created by: monkbroc

When opening the edit page for a resource with an has_many relation, none of the option tags generated for the select tag have the "selected" attribute set so existing values are lost on save.

You can reproduce this on the demo server:

  1. Go to an order page with items https://administrate-prototype.herokuapp.com/admin/orders/331/
  2. Click Edit
  3. See that the line items ids field is blank
  4. Click Save
  5. See that the line items are gone.

Here's my workaround in app/views/fields/has_many/_form.html.erb

<%= f.select(field.attribute_key, nil, {}, multiple: true) do %>
  <%= options_for_select(field.associated_resource_options, field.data.map(&:id)) %>
<% end %>

I can make a PR to fix this properly if you want.

This issue is similar to #241 (closed)

Assignee
Assign to
Time tracking