2013-01-19 40 views
12

Tôi đang sử dụng Đá quý quản trị tích cực trong ứng dụng đường ray của mình. Tôi đã thêm tài nguyên sách có 20 cột, bây giờ tôi cần phải tùy chỉnh chỉ một cột và in phần còn lại như nó được. Tôi đã thử bên dưới mãLàm thế nào để tùy chỉnh một cột và hiển thị còn lại trong activeadmin

ActiveAdmin.register Book do 
index do 
    column :description do 
    raw "<a class='view_description button'>View Description</a>" 
    end 
end 
end 

nhưng ẩn tất cả các cột và chỉ hiển thị mô tả. Mọi trợ giúp sẽ hữu ích.

+2

bạn cần phải liệt kê tất cả các hàng nếu bạn bắt đầu với các tùy chỉnh như vậy https://github.com/phoet/on_ruby/blob/ master/app/admin/users.rb # L19 – phoet

+2

địa ngục của nó cho bảng lớn sau đó, nhờ liên kết. – Senthil

Trả lời

7

Nếu bạn chỉ định một khối chỉ mục, bạn cần phải đặt tất cả các cột mà bạn muốn hiển thị, bởi vì bạn đang thay thế hành vi "mặc định".

Trong trường hợp của bạn, bạn cần phải thêm 19 cột khác với cái gì đó như:

ActiveAdmin.register Book do 
index do 
    column :one 
    column :two 
    column :three 
    column :name 
    column :title 
    column :pages 
    column :description do 
    raw "<a class='view_description button'>View Description</a>" 
    end 
end 
end 
27

Làm thế nào về điều này?

ActiveAdmin.register Book do 
    index do 
    columns_to_exclude = ["name"] 
    (Book.column_names - columns_to_exclude).each do |c| 
     column c.to_sym 
    end 
    column :description do 
     raw "<a class='view_description button'>View Description</a>" 
    end 
    end 
end 
+0

Đã tìm kiếm trên Internet ở mọi nơi cho điều này! Cảm ơn bạn! – istrasci

+0

Đây là câu trả lời hay nhất trong StackOverflow. – spinlock

2

Điều này cũng hoạt động khi bạn muốn thêm hoặc tùy chỉnh chỉ một cột vào danh sách mặc định (dựa trên liên kết dành cho thuộc tính).

ActiveAdmin.register Book do 
    index do 
    column :publisher do |book| 
     book.publisher.name 
    end 
    Book.column_names.each do |c| 
     column c.to_sym 
    end 

    end 
end 
1

Nói chung, đây là khá dễ dàng ..

ActiveAdmin.register Book do 
    index do 
    (Book.column_names - ["column_to_customize"]).each do |c| 
     column c.to_sym 
    end 
    column :column_to_customize do 
     raw "<a class='view_description button'>View Description</a>" 
    end 
    end 
end 
Các vấn đề liên quan