4

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

我无法在每个领域的基础上工作。我可以使用 proc 确定整个 has_many 调用的范围,但这不会让我在“显示”页面上显示结果,因为它是模型范围的。这是我当前的代码,基于 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
4

2 回答 2

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
于 2015-01-15T19:43:09.023 回答
0
associated_collection_cache_all true

它应该有帮助

于 2014-01-20T17:45:01.550 回答