2011-12-08 30 views
6

Tôi đang sử dụng https://github.com/sferik/rails_admin để xử lý giao diện quản trị của mình.RailsAdmin - Tùy chỉnh bộ lọc của riêng bạn

Có thể lọc mô hình của bạn dựa trên các cột hiện tại tồn tại trong mô hình này (id, created_at vv)

Tôi muốn để có thể thêm các bộ lọc tùy chỉnh cho các hiệp hội.

Ví dụ:

Khi tôi khám phá "thị trấn" mô hình Tôi muốn có thể để chỉ hiển thị các thị trấn mà có một hoặc nhiều dự án.

Tôi có thể làm điều này bằng cách thêm cột mới vào thị trấn, được gọi là has_projects dưới dạng boolean sẽ được đặt thành true khi có 1 hoặc nhiều dự án được liên kết, nhưng tôi cảm thấy phải có cách dọn dẹp hơn bộ lọc?

+0

Xem https://stackoverflow.com/questions/26180943/in- rails-admin-how-can-i-filter-on-an-hiệp hội-số –

Trả lời

-1

Gần đây, bạn đã duyệt the docs thường xuyên gần đây, tôi không tin rằng chức năng xử lý điều này trở nên thanh lịch hơn.

+0

Bạn có muốn mở rộng điều đó không? Chỉ cần liên kết với các tài liệu là hình thức nghèo nàn. – XanderStrike

2

Bạn có thể thử sử dụng enum. Xem https://github.com/sferik/rails_admin/wiki/Enumeration

tôi sử dụng cho hiệp hội belongs_to, như sau:

field :partner_id, :enum do 
    enum do 
    Partner.all.collect {|p| [p.name, p.id]} 
    end 
end 

Và theo quan điểm của danh sách, nói thêm:

list do 
    filters [:partner_id] 
    ... 
end  
+4

Điều này dường như không áp dụng cho câu hỏi. Bạn đang đưa ra các giá trị có thể để lọc/chọn cho một trường cơ sở dữ liệu hiện có, ': partner_id'. OP hỏi về lọc dựa trên truy vấn: "chỉ cho tôi các thị trấn có 1 hoặc nhiều dự án liên quan". –

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