[英]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.