2012-05-01 3 views
0

У меня есть класс, который принадлежит_to: primary_image,: class_name => 'Image'. В RailsAdmin это отображается как выпадающий виджет, который показывает мне все изображения в базе данных. Однако все они являются «Image #», где # - их идентификатор. Чтобы администратор мог разумно выбирать изображение, я бы хотел, чтобы они увидели эскизы изображений. Есть ли способ получить информацию, которая добавляется в раскрывающийся список, чтобы быть тегами изображений, причем их источником является URL-адрес экземпляра Image?Как добавить изображения в раскрывающийся список belongs_to в RailsAdmin

ответ

1

Используйте object_label, чтобы установить столбец/функцию, которую вы хотите использовать в качестве отображаемого имени для всех экземпляров.

config.model Image do 
    object_label :url 
end 

Я не уверен, что вы должны использовать HTML, но это будет выглядеть так:

config.model Image do 
    object_label :image_tag 
end 

# in image.rb 
def image_tag 
    %{<img src="#{self.url}">}.html_safe 
end 
+0

Я не уверен, если это отличается от версии жемчужина RailsAdmin, но я не удалось использовать object_label. Однако я смог использовать object_label_method: admin_label. Также в моем методе admin_label он работает только в том случае, если я не помещаю html_safe после строки. В любом случае он работает более или менее. Когда изображение выбрано, вы видите HTML в поле выбора, но я не думаю, что это будет проблемой для клиента. – Aaron