ruby-on-railsrubyrails-admin

How to create customize view for rails admin?


Currently, I'm working on a project using rails_admin gem for admin dashboard displaying. But view is auto generate according to Model field.

I want to display my on view in admin dashboard. What is the process of display custom view into rails admin?


Solution

  • config.model Utility do
      configure :preview do
        pretty_value do
          util = bindings[:object]
          %{<div class="blah">
            #{util.name} #{util.phone} #{util.logo}
          </div >}
        end
        children_fields [:name, :phone, :logo] # will be used for searching/filtering, first field will be used for sorting
        read_only true # won't be editable in forms (alternatively, hide it in edit section)
      end
    
      list do
        field :code
        field :priority
        field :preview
      end
    
      show do
        field :code
        field :priority
        field :preview
      end
    
      # other sections will show all fields
    end
    

    With simple configuration just add a rails_admin block and write a class method to your model then call that method.

    app/models/demo.rb
    rails_admin do 
      def self.full_name
        "#{first_name} #{last_name}"
      end
    end
    

    Now call this method it will return full_name as for example.