Как добавить ссылку на представление ActiveAdmin

У меня есть:

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

и я хочу, чтобы foo просто сделал <a href="/foo">foo</a> в представлении.

Итак, я определяю:

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

в модели user.rb. И он отображает, но тег экранирован, поэтому он не доступен для кликов. Есть ли простой способ сделать это?

Ответ 1

Вы можете попробовать:

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

и замените '#' на свой маршрут.

Ответ 2

Если вы работаете с a, у вас есть много, вы можете также прокручивать список, важно не слишком забыть .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

Ответ 3

= link_to 'List Users', admin_users_path в вашем представлении должно работать. Убедитесь, что ваше пространство имен ActiveAdmin на самом деле admin, используя ActiveAdmin.application.default_namespace.to_s (в консоли).

Надеюсь, что это поможет кому-то.