18

I have:

ActiveAdmin.register User do
  show :title => :name do     
    attributes_table do
      row :username
      row :email
      row :last_request_at
      row :foo
    end
  end
end

and I want foo just make a <a href="/foo">foo</a> in the view.

So I define:

def foo
  <a href="/foo">foo</a>
end

in the user.rb model. And it displays but the tag is escaped so it's not clickable. Is there a simple way to do this?

Andrew Arrow
  • 4,248
  • 9
  • 53
  • 80

3 Answers3

22

if you are working with a has many you can loop through the list as well, important is not too forget the .html_safe

    row "Bars" do |foo|
      foo.bars.each.map do |bar|
        link_to(bar.title, admin_bar_path(bar)) 
      end.join(', ').html_safe
    end
papiro
  • 2,158
  • 1
  • 20
  • 29
hatenine
  • 506
  • 3
  • 13
21

You can try:

row :foo do
  link_to('foo','#')
end

and replace '#' with your route.

R Milushev
  • 4,295
  • 3
  • 27
  • 35
0

= link_to 'List Users', admin_users_path in your view should work. Check that your ActiveAdmin namespace is actually admin using ActiveAdmin.application.default_namespace.to_s (in the console) though.

Hope that helps someone.

avjaarsveld
  • 579
  • 6
  • 9