2011-10-09 17 views
5

thể trùng lặp:
Add page to active adminActiveAdmin làm thế nào để thêm một bộ điều khiển tùy chỉnh mà không cần mô hình

tôi hiện đang tìm kiếm một giải pháp cho việc thêm một bộ điều khiển mà không có một mô hình cho người quản trị tạo ra bởi ActiveAdmin (và Rails 3.1). Tất nhiên tôi muốn thêm một menu mới trong thanh điều hướng.

Sử dụng ActiveAdmin.register MyControllerWithoutModel do không hoạt động.

Chỉnh sửa: Câu hỏi này trùng lặp với Add page to active admin nhưng không tìm thấy câu trả lời.

+0

Một giải pháp là tạo ra một mô hình giả nhưng sau khi làm điều đó, tôi có lỗi này: "Phương pháp xác định 'quoted_table_name' cho MyControllerWithoutModel: Class" –

+0

Do ** không ** gửi một câu hỏi một lần nữa chỉ vì không tìm thấy câu trả lời. Nếu bạn có chi tiết về câu hỏi, bạn có thể đề xuất chỉnh sửa. Ngoài ra, nếu bạn nhận được một số danh tiếng hơn, bạn có thể cung cấp một tiền thưởng cho câu hỏi mà sẽ thu hút nhiều lượt xem hơn và có thể có nhiều câu trả lời hơn. Sao chép một câu hỏi có chủ đích có thể dẫn đến cờ trên các bài đăng của bạn có thể dẫn đến hành động của người kiểm duyệt thêm. – casperOne

Trả lời

0

Tôi đang tìm kiếm điều này để chỉnh sửa cấu hình ứng dụng, nhưng đường nối không có mô hình là không thể. Tôi vừa tạo mô hình rỗng với bảng trong db và đăng ký tài nguyên như bình thường.

Để tùy chỉnh nguồn:

vô hiệu hóa bộ lọc

config.clear_sidebar_sections! 

trình đơn tùy chỉnh đường

ActiveAdmin.application.namespaces[:admin].resources['Configuration'].namespace.menu.items.each{|i| i.instance_eval('@cached_url[:admin_configurations_path] = "/admin"')} 
2

Đây là những gì làm việc cho tôi, chỉ cần thay đúng tên cho ViewLogger trong CodeBlocks . Bằng cách này bạn sẽ không phải tạo một bảng giả trong cơ sở dữ liệu của bạn.

Tạo một tệp /app/models/viewlogger.rb với nội dung này, để có thêm các mô hình tableless nâng cao, bạn có thể muốn xem http://keithmcdonnell.net/activerecord_tableless_model_gem.html hoặc google thông tin chi tiết của riêng bạn cùng nhau.

class Viewlogger < ActiveRecord::Base 

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

    # ... 

end 

thêm một mục vào /config/initializers/inflections.rb

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

thiết lập một lộ trình cho viewlogger của bạn, trong config/routes.rb:

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

bây giờ bạn có thể xây dựng khối đăng ký activeadmin như sau (đảm bảo bạn tạo một phần xem ở đúng vị trí)

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 

cuối

Các vấn đề liên quan