2011-09-24 26 views
6

Gần đây tôi đã xem railscast 284 về quản trị viên hoạt động và muốn triển khai nó vào ứng dụng web của tôi, tuy nhiên tôi đang gặp sự cố khi tôi thêm tài nguyên. Tôi nhận được thông báo sau mỗi khi tôi cố gắng để điều hướng đến tab tạo:Rails Vấn đề tài nguyên quản trị hoạt động

NameError in Admin::LoadsController#index 

undefined local variable or method `per' for []:ActiveRecord::Relation 
Rails.root: /Users/thomascioppettini/rails_projects/want-freight 

Application Trace | Framework Trace | Full Trace 
Request 

Parameters: 

{"order"=>"id_desc"} 
Show session dump 

Show env dump 

Response 

Headers: 

Không

Điều duy nhất tôi có thể nghĩ rằng có thể ảnh hưởng đến việc áp dụng sẽ bổ sung một reCAPTCHA để đưa ra, trong đó quản trị hoạt động phụ thuộc.

+0

Bạn có chắc chắn vấn đề xảy ra với activeadmin không? Trong mọi trường hợp, tôi nghĩ bạn nên cụ thể hơn và thêm thông tin vào câu hỏi của bạn. – Giuseppe

+0

Dự án chỉ được thiết lập với một recaptcha được thêm vào. Tôi chạy một máy phát điện giàn giáo chuẩn và thêm viên ngọc quản trị hoạt động. Tôi đã tạo tài nguyên dưới dạng trạng thái tài liệu và tôi gặp phải lỗi này khi tôi chuyển sang tab mà nó tạo trong quản trị viên đang hoạt động. Bộ điều khiển và mô hình của tôi không tham chiếu bất kỳ phần nào của mã trong thông báo lỗi, vì vậy tôi cho rằng quản trị viên đang hoạt động đang gây ra sự cố. – tomciopp

Trả lời

3

Đối với tôi, có vẻ như đây là vấn đề về phân trang. Bạn đang sử dụng đá quý nào? Bạn nên cung cấp càng nhiều chi tiết về việc dàn xếp của bạn. Bạn có thể hiển thị cho chúng tôi tệp tài nguyên của bạn từ thư mục quản trị không? Phiên bản đường ray nào và bạn đang sử dụng ActiveAdmin nào?

+0

Tôi đang sử dụng sẽ phân trang, đường ray 3.1 và phiên bản mới nhất của Quản trị viên đang hoạt động. – tomciopp

+0

Nó trông giống như một vấn đề phân trang, vì bạn đang sử dụng will_paginate trong khi AA sử dụng kaminari. Nhưng - như Dawid nói, bạn thực sự cần cung cấp thông tin chi tiết hơn để có được câu trả lời có ý nghĩa. – Giuseppe

3

Nếu bạn đang sử dụng đá quý will_paginate, hãy đặt phiên bản thành 3.0.pre2. Tôi đã sử dụng ~>3.0.pre2, được tự động cập nhật thành 3.0.2 khi tôi chạy một số bundle update Hoàn nguyên đã khắc phục sự cố. Nếu bạn đang sử dụng Bundler, dòng này là:

gem "will_paginate", "3.0.pre2" 
2

Tôi đồng ý với Dawaid. Đó là lỗi sai lầm. Thêm đá quý "Kaminari" cho bạn Gemfile. Theo tài liệu quản trị hoạt động, nó đang sử dụng kaminari cho pagination .. will_paginate cũng sẽ làm việc cho bạn như swilliams được mô tả ...

1

Vì tôi hiểu active_admin không hỗ trợ will_paginate nữa. Nhưng nếu bạn không muốn viết lại phân trang của mình cho Kaminari, bạn có thể khắc phục sự cố này bằng cách đặt một số mã vào bộ khởi tạo

# config/initializers/will_paginate.rb 
if defined?(WillPaginate) 
    module WillPaginate 
    module ActiveRecord 
     module RelationMethods 
     alias_method :per, :per_page 
     alias_method :num_pages, :total_pages 
     end 
    end 
    end 
end 

module ActiveRecord 
    class Relation 
    alias_method :total_count, :count 
    end 
end 
Các vấn đề liên quan