Sto configurando un'applicazione rails con rails_admin e act_as_taggable_on gems.Come posso ottenere che rails_admin gem riconosca i modelli con act_as_taggable_on tag_lists?
In precedenza nel progetto quando si cerca di fare in modo che questo potrebbe essere fatto ho trovato this issue sulla pagina GitHub rails_admin che ha portato alla this gem che è ancora nella lista dei plugin sul wiki rails_admin github. Quindi sembra che possa essere fatto.
Ho iniziato seguendo le istruzioni di installazione nei README per rails_admin, acts_as_taggable_on e rails_admin_tag_list. Ho alcuni modelli sull'app e prima di aggiungere qualsiasi funzionalità di tagging a loro appaiono e funzionano bene su rails_admin.
Ecco un esempio di un modello che sto tentando di aggiungere tag a:
class Location < ActiveRecord::Base
acts_as_taggable
acts_as_taggable_on :regions
private
def location_params
params.require(:location).permit(:lat, :long, :tag_list => [], :region_list => [])
end
end
In questo formato ricevo un avviso lampo: "non è stato trovato Model 'Località'" quando si accede al pagina di amministrazione dei binari. Anche il modello di posizione non viene visualizzato nell'elenco dei modelli.
Non ho ancora costruito le pagine per aggiungere dati ma ho fatto aggiungere una posizione a mio database tramite la console rotaie e ha aggiunto i tag alle liste per quella posizione utilizzando l'esempio del README acts_as_taggable_on:
a = Location.new
a.region_list.add("awesome")
Dopo aver fatto questo e guardando ancora la pagina rails_admin vedo ancora che la "Posizione modello" non è stata trovata "avviso flash. Ma vedo anche la posizione nell'elenco dei modelli.
Cliccando sulla posizione mi dà il seguente errore:
NoMethodError at /location
undefined method `[]' for #<RailsAdmin::Adapters::ActiveRecord::Property:0x00000101fabd90>
errori Better mostra la linea
if tag_types.include?(properties[:name])
sottostante per essere il linea di colpa:
RailsAdmin::Config::Fields.register_factory do |parent, properties, fields|
model = parent.abstract_model.model
if defined?(::ActsAsTaggableOn) && model.taggable?
tag_types = model.tag_types
if tag_types.include?(properties[:name])
name = "#{properties[:name].to_s.singularize}_list".to_sym
fields << RailsAdmin::Config::Fields::Types::TagList.new(parent, name, properties)
end
end
Sono è ancora abbastanza nuovo, ma sembra che non ci sia molto scritto sull'interazione tra queste due gemme al momento. Sono grato per qualsiasi suggerimento che puoi fornire per ottenere l'amministrazione dei binari per poter visualizzare i modelli con tag_list in modo appropriato. Grazie!
Questa era essenzialmente la risposta corretta. Apparentemente c'erano altri problemi nel modo in cui ho impostato l'utilizzo della gemma, ma questo era un elemento chiave necessario e mi ha fatto superare il problema menzionato in questa domanda. – Roseaboveit