2013-08-16 7 views
8

Tôi muốn để nhóm tất cả các bộ điều khiển của tôi và quan điểm của họ trong các thư mục ví dụ dưới "admin"Rails 4: Nhóm các điều khiển trong một thư mục

Đây là những gì tôi đã làm:
(1) Tôi chuyển tất cả các controllers dưới một thư mục admin
(2) tôi chuyển tất cả các views dưới một thư mục admin

(3) tôi đọc trong Rails Hướng dẫn rằng tôi nên làm điều này:

scope module: 'admin' do 
    resources :admin_permissions, :admin_layout, :admin_db 
end 
.210

nhưng tôi tiếp tục nhận được một lỗi

ActionController::RoutingError at /admin_permissions/index 
uninitialized constant AdminMainController 

mục Cấu trúc:

controllers 
    -> admin 
    -> admin_main_controller 
    -> admin_permissions_controller 
    -> admin_layouts_controller 
    -> admin_db_controller 
views 
    -> admin 
    -> admin_main 
    -> admin_permissions 
    -> admin_layouts 
    -> admin_db 

Cả ba bộ điều khiển đầu tiên kế thừa từ admin_main mà kế thừa từ ứng dụng

Bất kỳ lời khuyên về những gì để đọc/kiểm tra?

Trả lời

8

Nếu bạn thực hiện rake routes, bạn sẽ thấy tên của tất cả các bộ điều khiển được đặt trước bằng 'admin /'.

Bởi vì bạn di chuyển bộ điều khiển của bạn vào thư mục "quản trị", bạn nên thêm một không gian tên cho mỗi bộ điều khiển ở đó. Ví dụ:

class Admin::AdminMainController < ActionController::Base 
end 

Và kiểm tra bộ điều khiển, lượt xem và người giúp đỡ, cập nhật tất cả các đường dẫn và tên bộ điều khiển có liên quan.

+0

Cảm ơn !! Tôi thêm nó ở khắp mọi nơi, tôi cũng bao gồm nó khi tôi nhập khẩu một người trợ giúp? "bao gồm Admin :: AdminMainHelper" hoặc chỉ "bao gồm AdminMainHelper" – nevermind

+0

Phụ thuộc vào tên mô-đun của trình trợ giúp của bạn ngay bây giờ. Nếu tên là "Admin :: AdminMainHelper", do đó, "bao gồm Admin :: AdminMainHelper" hoặc "bao gồm AdminMainHelper" – Bigxiang

+0

, nó hoạt động ngay bây giờ! với Admin :: AdminMainHelper – nevermind