Rails Admin - only display field on edit

Conditionally displaying fields only if they are present in the database

Here’s how we used Rails Admin to only allow a field to be shown after creation.

We have a client who wanted the ability to be able to edit slugs (appropriate warnings were given about how this can be a bad thing!). We only wanted this field to be visible on edit in Rails Admin as we normally generate our slugs from the model’s title attribute.

RailsAdmin.config do |config|
  config.model Article do 
    edit do 
      field :slug do 
        visible do 
          bindings[:object].slug.present?
        end
        help "WARNING, if you edit this - old links to the article WILL break" # just in case they forget!
      end
    end
  end
end 

Recent posts View all

Ruby

Iterate over indexed params in Rails

When your API isn't Rails-shaped, sometimes you need to handle input differently

Web Dev Jekyll

Running Jekyll from inside VS Code

How to set up your VS Code to run Jekyll without needing extra extensions