Добавление дополнительного значения столбца в список в RailsAdmin

StackOverflow https://stackoverflow.com/questions/9312305

  •  26-10-2019
  •  | 
  •  

Вопрос

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

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

Это было полезно?

Решение

Я бы предложил вам использовать для этого метод метки пользовательского объекта.Ваша конфигурация 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 показывает, что привязки [: object] доступны в этих представлениях, но IIRC, есть несколько других переменных привязок, которые доступны.

Другие советы

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top