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 Rails

Removing fields with a Rails migration

Ruby on Rails gives you powerful tools to make removing old fields easy, lets walk through how we can do this

JavaScript

Calculating Instagram Velocity From Your Browser

A small script that lets you quickly work out the velocity for posts within a hashtag