Andrew Arrow
Andrew Arrow

Reputation: 4565

how do add a link to an ActiveAdmin view

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?

Upvotes: 21

Views: 20693

Answers (3)

hatenine
hatenine

Reputation: 526

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

Upvotes: 23

R Milushev
R Milushev

Reputation: 4315

You can try:

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

and replace '#' with your route.

Upvotes: 22

avjaarsveld
avjaarsveld

Reputation: 599

= 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.

Upvotes: 0

Related Questions