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

What are the square brackets in my Rails migrations?

Let's look at what these little square brackets are doing in our Rails migration files

Web Dev

Setting a minimum TLS version with CloudFlare

How to set a minimum TLS version on CloudFlare and why you should consider it