2011-10-24 28 views
4

海蘭那裏,我試圖實現自己的控制器爲主動管理+將NEET繼承主動管理的頁腳/頭/麪包屑主動管理 - 非資源相關的控制器

我需要一個自己的模板文件的定期索引行動...傳遞一個參數來顯示相關的統計數據(我會使用谷歌圖表API中呈現它們)

我遇到的問題是有沒有辦法待辦事項,從頭開始期望不會幫助的邊欄我很多..

我需要在該視圖上顯示像7個不同的圖表

我真的很感激任何想法,因爲它使我瘋狂

感謝皮埃爾

回答

2

這是在代碼塊工作對我來說,剛剛替補正確的名稱ViewLogger。這樣你就不必在數據庫中創建一個虛擬表。

使用此內容創建文件/app/models/viewlogger.rb,以獲得更高級的無表格模型,您可能需要檢查http://keithmcdonnell.net/activerecord_tableless_model_gem.html或將您自己的洞察力彙總在一起。現在

match '/admin/viewlogger' => 'admin/viewlogger#index', :as => :admin_viewlogger 

你:

class Viewlogger < ActiveRecord::Base 

    def self.columns 
    @columns ||= [] 
    end 

    # ... 

end 

添加一個條目來/config/initializers/inflections.rb

ActiveSupport::Inflector.inflections do |inflect| 
    inflect.uncountable %w(viewlogger) 
end 

爲您的viewlogger的路線,在配置/ routes.rb中可以按如下方式制定activeadmin寄存器塊(請確保您在正確的位置創建了部分視圖)

ActiveAdmin.register Viewlogger do 
    config.comments = false 
    before_filter do @skip_sidebar = true end 
    # menu false 
    config.clear_action_items! # this will prevent the 'new button' showing up 


    controller do 
    def index 
     # some hopefully useful code 
     render 'admin/viewlogger/index', :layout => 'active_admin' 
    end 
    end 

結束

3

繼續上一個答案。你甚至不需要定義一個真實的模型(在模型文件夾中)。 我需要得到這個工作的最小碼爲:

所有在一個文件中:應用程序/管理/ charts.rb

class Chart < ActiveRecord::Base 
end 

ActiveAdmin.register Chart do 
    config.comments = false 
    config.clear_action_items! 
    before_filter do @skip_sidebar = true end 


    controller do 
    def index 
     params[:action] = "Google Charts" # this sets the page title (so it doesnt just render 'index') 
     render 'admin/charts/index', :layout => 'active_admin' # renders the index view in app/views/admin/charts 
    end 
    end 
end 

我用了這個要點: https://gist.github.com/1644526

+0

這是給我沒有路線匹配{:action =>「show」,:controller =>「admin/crime_maps」}缺少必需的鍵:[:id]' – m02ph3u5