Frage

Ich habe RailsAdmin laufen für meine Rails 3-app, die hat zwei Modelle - Sale und Waren.Es gibt eine HABTM-Beziehung zwischen den beiden.In RailsAdmin, wenn ein Verkauf ist Hinzugefügt oder bearbeitet haben, wird eine Liste der verfügbaren waren angezeigt wird, die in der üblichen Weise.Allerdings nur die Spalte "name" der Ware angezeigt.Ich habe eine andere Spalte, deren Wert enthalten muss, dass diese Liste keinen Sinn.Wie füge ich diese zu den RailsAdmin-Schnittstelle?

Ich verstehe, dass die RailsAdmin docs sagen Sie, dass Feld-Deklarationen haben Zugang zu einem Bindungen hash enthält die aktuelle Datensatz-Beispiel-aber ich finde keine Beispiele dafür, wie Sie diese umsetzen.Vielen Dank für jede Hilfe.

War es hilfreich?

Lösung

Ich würde vorschlagen, dass Sie verwenden Sie die benutzerdefinierte Objekt-label-Methode.Ihre RailsAdmin config könnte wie folgt Aussehen:

config.model Merchandise do
  object_label_method
    :custom_label
  end
end

Und Ihre ActiveRecord-Modell enthält eine Methode für die Instanz von Etiketten:

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

Dies beantwortet nicht Ihre Frage über die verfügbaren Bindungen von Variablen, aber ich hoffe, es-Adressen der root-Frage.Wenn Sie wollen, um zu sehen, was Variablen sind zugänglich in einem benutzerdefinierten Feld ansehen, Sie können schauen Sie durch die Ansichten, die in ~/rails_admin/app/views/rails_admin/main/.Ein schnelles grep zeigt, dass die Bindungen[:object] zugänglich, in denen Ansichten, aber wenn ich mich Recht erinnere, gibt es ein paar andere Bindungen von Variablen, die zugänglich sind.

Andere Tipps

Sie müssen mindestens die folgenden Objekte zur Verfügung:

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

Was Sie brauchen, in diesem Fall ist bindings[:object]

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top