簡體   English   中英

當索引部分沒有結果時,如何在ActiveAdmin的索引頁面上添加面板?

[英]How to add a panel on index page in ActiveAdmin when index section has no result?

我正在使用紅寶石寶石ActiveAdmin。 index頁面上,除了記錄的索引列表外,我還想顯示幾個面板。

我有如下代碼:

ActiveAdmin.register City do
    belongs_to :country

    index do
        column :name
        column :population
        column :elevation

        panel 'Languages in Country' do
            ul do
                country.languages.each do |language|
                    li language
                end
            end
        end
    end
end

這個想法是,當我轉到http://localhost:8000/admin/countries/3/cities ,我將顯示該國家的城市列表,在此表下方,我將在一個單獨的位置中顯示該國家的語言panel

我遇到的問題是,當一個國家/地區沒有城市時,語言面板也不會顯示(即使它有語言)。

當一個國家沒有城市數據時,如何顯示語言面板?

謝謝

子類化並重寫ActiveAdmin :: Views :: IndexList ,類似於:

class IndexListWithCountryPanel < ActiveAdmin::Views::IndexList
  def build(index_classes)
    if current_filter_search_empty?
      panel 'Languages in Country' do ... end
    else
      index_classes.each do |index_class|
        build_index_list(index_class)
      end
    end
  end

在以下位置注冊定制的索引頁面

index as: IndexListWithCountryPanel do
  ... # as before
end

總是在IndexListWithCountryPanel中而不是在索引塊中顯示面板會更加干燥。 您是否考慮過將國家/地區語言添加到側邊欄? 免責聲明:這是基於我對代碼和文檔的閱讀,我自己還沒有這樣做。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM