Ich richte eine Rails-Anwendung mit rails_admin und acts_as_taggable_on Edelsteinen ein.Wie erhalte ich das Juwel rails_admin, um Modelle mit acts_as_tagable_on tag_lists zu erkennen?
Zu Beginn des Projekts, wenn Sie sicher zu machen versucht, dass dies ich this issue gefunden auf der rails_admin Github Seite getan werden könnte, die zu this gem geführt, die noch in der Liste der Plug-ins auf dem rails_admin GitHub Wiki ist. Es scheint also möglich zu sein.
Ich begann mit den Setup-Anweisungen in den READMEs für rails_admin, acts_as_ta gable_on und rails_admin_tag_list. Ich habe einige Modelle in der App und vor dem Hinzufügen von Tagging-Funktionen zu ihnen erscheinen sie und funktionieren gut auf rails_admin. Hier
ist ein Beispiel für ein Modell, das ich versucht bin hinzufügen Tags:
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 diesem Format ich eine Flash-Mitteilung erhalten: „Model‚Location‘konnte nicht gefunden werden“, wenn der Zugriff auf Schienen-Admin-Seite. Das Standortmodell wird auch nicht in der Liste der Modelle angezeigt.
Ich habe noch nicht Seiten Daten hinzufügen gebaut, aber ich habe eine Stelle zu meiner Datenbank über die Schienen Konsole hinzufügen und Tags für diesen Standort zu den Listen hinzugefügt, um das Beispiel aus der acts_as_taggable_on README mit:
a = Location.new
a.region_list.add("awesome")
Nachdem ich dies getan habe und die rails_admin Seite erneut gesehen habe, sehe ich immer noch die "Model 'Location' konnte nicht gefunden werden". Aber ich sehe auch die Position in der Liste der Modelle.
auf Location Ein Klick gibt mir die folgende Fehlermeldung:
NoMethodError at /location
undefined method `[]' for #<RailsAdmin::Adapters::ActiveRecord::Property:0x00000101fabd90>
Bessere Fehler zeigt die
if tag_types.include?(properties[:name])
Zeile unter der Leitung schuld zu sein:
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
Ich bin immer noch ziemlich neu, aber es scheint, als ob nicht viel über die Wechselwirkung zwischen diesen beiden Edelsteinen geschrieben wurde im Augenblick. Ich bin dankbar für jede Einsicht, die Sie bereitstellen können, damit rails admin in der Lage ist, Modelle mit tag_lists angemessen anzuzeigen. Vielen Dank!
war im Wesentlichen die richtige Antwort. Es gab offenbar andere Probleme, wie Ich habe das Juwel verwenden, aber dies war ein Schlüsselstück, das notwendig ist, und hat mich Vergangenheit das Problem in dieser Frage erwähnt. – Roseaboveit