Domanda

Ho RailsAdmin in corsa per i miei Rails 3 app che ha due modelli - la vendita e Mercanzia. C'è una relazione HABTM tra i due. In RailsAdmin, quando viene aggiunto o modificato una vendita, l'elenco delle mercanzie disponibili è mostrato nel modo consueto. Tuttavia, viene visualizzata solo la colonna "nome" della merce. Ho un'altra colonna i cui bisogni valore da inserire per la lista di fare alcun senso. Come faccio ad aggiungere questa all'interfaccia RailsAdmin?

Capisco che il RailsAdmin docs dire che le dichiarazioni di campo hanno accesso ad un attacchi hash che contiene l'istanza record corrente - ma non riesco a trovare alcun esempio di come implementare questa. Grazie per qualsiasi aiuto.

È stato utile?

Soluzione

mi piacerebbe propongo di utilizzare il metodo label oggetto personalizzato per questo. Il tuo RailsAdmin config potrebbe essere simile a questo:

config.model Merchandise do
  object_label_method
    :custom_label
  end
end

E il vostro modello di ActiveRecord conterrebbe un metodo per le etichette esempio:

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

Questo non risponde alla tua domanda sulle variabili attacchi disponibili, ma spero che affronta la questione principale. Se volete vedere quali variabili sono accessibili in un campo visivo personalizzato, è possibile guardare attraverso il punto di vista in ~ / rails_admin / app / views / rails_admin / / principale. Un rapido spettacoli grep che binding [: oggetto] è accessibile in quei punti di vista, ma IIRC, ci sono alcune altre variabili attacchi che sono accessibili

.

Altri suggerimenti

di avere almeno i seguenti oggetti disponibili:

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

Quello che vi serve in questo caso è bindings[:object]

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top