2012-01-05 20 views

Trả lời

17

đặn nó ra, cảm ơn!

filter :customer, :collection => proc {(Customer.all).map{|c| [c.company_name, c.id]}}

+1

Cảm ơn bạn đã đăng bài. Tôi đã có câu hỏi chính xác này. – jfedick

+1

Tôi phải đặt cái này vào tệp nào? Không hoạt động trong mô hình – Mexxer

+0

Trong ứng dụng/admin/your_model_name.rb;) – Kulgar

4

Tôi không chắc tôi hiểu bạn nhưng có lẽ bạn nên xác định phương thức to_s bên trong lớp Khách hàng của bạn, ví dụ:

class Customer 

    def to_s 
    self.company_name 
    end 

end 

nó sẽ dễ dàng hơn nếu bạn chia sẻ một số mã

1

Để làm hiển thị ActiveAdmin chọn menu đúng cách thử trong Model.rb: - ​​

alias_attribute: tên,: CATEGORY_NAME

2
class Customer 

    def display_name 
    self.company_name 
    end 

end 

Xác định display_name thay vì to_s hoạt động tốt hơn ...

  • to_s có thể được gọi tự động bởi các objec khác ts.
  • display_name chỉ ảnh hưởng đến ActiveAdmin

Bạn cũng có thể xác định:

show :title => :display_name 

Điều này sẽ làm COMPANY_NAME của bạn xuất hiện như tiêu đề trên các trang xem thay vì Công ty #x.

+0

Đối với các cột liên kết, chúng tôi đưa ra quyết định có giáo dục về những gì hiển thị bằng cách gọi các phương pháp sau theo thứ tự sau: : display_name,: full_name,: name,: username,: login,: title,: email, to_s Điều này có thể được tùy chỉnh trong config/initializers/active_admin.rb. – barancw

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