RailsAdmin中的作用域关联

时间:2013-04-25 18:33:04

标签: ruby-on-rails scope associations rails-admin

我尝试确定关联范围,以便用户在编辑关系时看不到已发送的提醒。但是,我希望它们能够在“显示”视图中看到,但不能在“编辑”视图中看到。

我不能让范围在每个字段的基础上工作。我可以使用proc来调整整个has_many调用的范围,但这不会让我在'show'页面上显示结果,因为它是模型范围的。这是我当前的代码,它似乎不适用于RailsAdmin wiki:

  group :reminders do
    label 'Reminders'
    field :reminders do
      active true

      associated_collection_scope do
        Proc.new { |scope|
          scope = scope.where(sent: false)
        }
      end

    end
  end

2 个答案:

答案 0 :(得分:1)

也许尝试将代码放在edit do ; end块内。所以,会变成:

edit do  
  group :reminders do
    label 'Reminders'
    field :reminders do
      active true

      associated_collection_scope do
        Proc.new { |scope|
          scope = scope.where(sent: false)
        }
      end

    end
  end
end

答案 1 :(得分:0)

associated_collection_cache_all true

应该有帮助