Tôi mới đến đường ray và không thể tìm ra vấn đề này ...Ruby on Rails mô hình bên trong namespace không thể được tìm thấy trong bộ điều khiển
Tôi có một bộ điều khiển
Admin::Blog::EntriesController
quy định tại app/controllers/admin/blog/entries_controller.rb
Và tôi có một mô hình gọi là
Blog::Entry
defin ed trong app/mô hình/blog/entry.rb
Khi tôi cố gắng truy cập vào mô hình của tôi từ bộ điều khiển, tôi nhận được một "uninitialized constant Admin::Blog::EntriesController::Blog"
từ dòng này:
@blog_entries = Blog::Entry.find(:all)
Rõ ràng nó không phải là tìm không gian tên một cách chính xác mà là lẻ bởi vì theo những gì tôi đã đọc, tôi đã đặt mô hình của tôi vào đúng thư mục với cú pháp chính xác.
Bất kỳ ý tưởng nào về cách khắc phục sự cố này?
Cảm ơn
Ah, cảm ơn, điều đó đã hiệu quả. Tuy nhiên, nó chỉ ra rằng tôi phải thiết lập một tên bảng tùy chỉnh cho mô hình của tôi là tốt. Ngoài ra, form_for helper dosn't làm việc vì nó sử dụng " _path" điều cho thuộc tính action mà tôi nghĩ, vì vậy nó ném một lỗi mà nó không thể tìm thấy phương thức "blog_entries_path" ... Bất kỳ ý tưởng nào? –
nlaq
Tôi bắt đầu nghĩ rằng đường ray cau mày khi nhiều không gian tên cho các mô hình và bộ điều khiển ... Thật đáng tiếc vì tôi thực sự thích cấu trúc đường dẫn//. –
nlaq
quy ước đường ray là các tên mẫu là số ít trong khi các bộ điều khiển là số nhiều.Có thể đổi tên bộ điều khiển Quản trị viên :: Blogs :: EntriesController (vâng, có vẻ lạ) Có lẽ bạn cũng nên suy nghĩ lại bằng cách sử dụng các mô hình không gian tên, có lẽ họ gặp nhiều rắc rối hơn chúng đáng xem, xem http://stackoverflow.com/questions/601768/namespaced-models-in-rails-whats-the-nhà nước-of-the-union – levinalex