Добавление дополнительного значения столбца в список на RailsAdmin - PullRequest
5 голосов
/ 16 февраля 2012

У меня работает RailsAdmin для моего приложения на Rails 3, в котором есть две модели - Sale и Merchandise.Есть отношения HABTM между ними.В RailsAdmin, когда продажа добавляется или редактируется, список доступных товаров отображается обычным способом.Тем не менее, отображается только столбец «имя» товара.У меня есть еще один столбец, значение которого необходимо включить в список, чтобы иметь какой-либо смысл.Как добавить это в интерфейс RailsAdmin?

Я понимаю, что RailsAdmin docs говорит, что объявления полей имеют доступ к хешу привязок, который содержит текущий экземпляр записи - но я могуНе могу найти примеров того, как это реализовать.Спасибо за любую помощь.

Ответы [ 2 ]

5 голосов
/ 18 июля 2012

У вас есть по крайней мере следующие доступные объекты:

bindings[:object] # the actual object
bindings[:view]   # you can access view helpers here
bindings[:controller]  # you can access the controller

В этом случае вам нужно bindings[:object]

5 голосов
/ 22 февраля 2012

Я бы предложил использовать для этого метод меток пользовательских объектов. Ваша конфигурация RailsAdmin может выглядеть так:

config.model Merchandise do
  object_label_method
    :custom_label
  end
end

И ваша модель ActiveRecord будет содержать метод для меток экземпляра:

class Merchandise < ActieRecord::Base
  def custom_label
    "#{self.label} #{self.another_column} #{self.another_column2}"
  end
end

Это не отвечает на ваш вопрос о доступных переменных связывания, но я надеюсь, что он решает основной вопрос. Если вы хотите увидеть, какие переменные доступны в пользовательском представлении поля, вы можете просмотреть представления в ~ / rails_admin / app / views / rails_admin / main /. Быстрый grep показывает, что bindings [: object] доступен в этих представлениях, но в IIRC есть несколько других доступных переменных bindings.

...