在ActiveAdmin中,有没有办法显示相关的nil模型?

时间:2015-02-10 14:05:13

标签: ruby-on-rails activeadmin

我有一个模型站点,其中包含用户的外键user_id。所有站点都有user_id,但随着时间的推移,一些引用的User元素已被删除。我的ActiveAdmin索引如下所示:

index do
  column :domain
  column :user
  column :created_at
  column :updated_at
end

在缺少用户的情况下我得到的错误是:

user_name delegated to user.name, but user is nil

有没有办法修改我的索引方法,以便在这种情况下不会出错?

1 个答案:

答案 0 :(得分:0)

有两种方法可以实现这一目标。首先是自定义index代码:

index do
  column :domain
  column :user_name do |site|
    site.user.try(:name)
  end
  #...
end

Reference

或者,您可以向allow_nil方法添加delegate选项:

class Site
   delegate :name, to: :user, prefix: true, allow_nil: true
end

Reference