Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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?

like image 462
Shajed Avatar asked Sep 06 '16 06:09

Shajed


2 Answers

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.

like image 148
monsur Avatar answered Nov 12 '22 06:11

monsur


You can use your own partial:

RailsAdmin.config do |config|
 config.model 'Team' do
  edit do
   field :name do
    partial "my_awesome_partial"
   end
  end
 end
end

The partial should be placed in your applications template folder, such as app/views/rails_admin/main/_my_awesome_partial.html.erb.

The object is available from the partial with form.object. Please check here.

like image 23
Dende Avatar answered Nov 12 '22 06:11

Dende