Active Record ist ein Muster, das Domänenlogik mit Speicherabstraktion in einem einzelnen Objekt kombiniert. Verwenden Sie dieses Tag für Fragen zum Muster, [Rails-Activerecord] für Fragen zum Rails ORM-Framework.
Was ist der beste Weg, um mit Postgres und Activerecord Datensätze mit doppelten Werten über mehrere Spalten hinweg zu finden? Ich habe diese Lösung hier gefunden : User.find(:all, :group => [:first, :email], :having => "count(*) > 1" ) Aber mit Postgres scheint es nicht zu funktionieren. Ich erhalte diesen Fehler: …
Ich schreibe ein Modell, das Benutzereingaben aus einem Textbereich verarbeitet. Nach den Ratschlägen von http://blog.caboo.se/articles/2008/8/25/sanitize-your-users-html-input bereinige ich die Eingabe im Modell, bevor ich sie mit dem before_validate in der Datenbank speichere zurückrufen. Die relevanten Teile meines Modells sehen folgendermaßen aus: include ActionView::Helpers::SanitizeHelper class Post < ActiveRecord::Base { before_validation :clean_input ... …
Wenn Sie dies Something.find(array_of_ids)in Rails tun , hängt die Reihenfolge des resultierenden Arrays nicht von der Reihenfolge von ab array_of_ids. Gibt es eine Möglichkeit, die Bestellung zu finden und zu bewahren? Geldautomat Ich sortiere die Datensätze manuell nach der Reihenfolge der IDs, aber das ist irgendwie lahm. UPD: Wenn es …
Ich versuche etwas zu tun, von dem ich dachte, es wäre einfach, aber es scheint nicht so zu sein. Ich habe ein Projektmodell mit vielen offenen Stellen. class Project < ActiveRecord::Base has_many :vacancies, :dependent => :destroy end Ich möchte alle Projekte bekommen, die mindestens 1 freie Stelle haben. Ich habe …
Ich möchte ein Update Raw SQL wie folgt ausführen: update table set f1=? where f2=? and f3=? Diese SQL wird von ausgeführt ActiveRecord::Base.connection.execute, aber ich weiß nicht, wie ich die dynamischen Parameterwerte an die Methode übergeben soll. Könnte mir jemand dabei helfen?
Gibt es eine Möglichkeit, den ursprünglichen Wert eines ActiveRecord-Attributs abzurufen (= den Wert, der aus der Datenbank geladen wurde)? Ich möchte so etwas in einem Beobachter before_save object do_something_with object.original_name end Die Aufgabe besteht darin, das Objekt beim Aktualisieren aus einer Hash-Tabelle zu entfernen (tatsächlich in einen anderen Schlüssel in …
Wie modelliert man anhand dieses modifizierten Beispiels aus den Rails- Handbüchern eine relationale Assoziation "has_many: through" mit Mongoid? Die Herausforderung besteht darin, dass Mongoid has_many: through nicht unterstützt wie ActiveRecord. # doctor checking out patient class Physician < ActiveRecord::Base has_many :appointments has_many :patients, :through => :appointments has_many :meeting_notes, :through => …
Der #new_record? Funktion bestimmt, ob ein Datensatz gespeichert wurde. Aber es ist immer falsch im after_saveHaken. Gibt es eine Möglichkeit, anhand der Aktualisierung festzustellen, ob es sich bei dem Datensatz um einen neu erstellten oder einen alten Datensatz handelt? Ich hoffe, keinen weiteren Rückruf before_createzu verwenden, um beispielsweise ein Flag …
Rails 4 hat eine Verfallswarnung eingeführt, wenn Folgendes verwendet wird: uniq => true mit has_many: through. Beispielsweise: has_many :donors, :through => :donations, :uniq => true Gibt folgende Warnung aus: DEPRECATION WARNING: The following options in your Goal.has_many :donors declaration are deprecated: :uniq. Please use a scope block instead. For example, …
Also führe ich eine Abfrage an die Datenbank durch und habe ein vollständiges Array von Objekten: @attachments = Job.find(1).attachments Jetzt, wo ich ein Array von Objekten habe, möchte ich keine weitere Datenbankabfrage mehr ausführen, aber ich möchte das Array basierend auf den AttachmentObjekten filtern , file_typedamit ich eine Liste mit …
In meinem aktuellen Rails-Programm, wenn ich so etwas benutze user = User.find(10) Wenn es keinen Benutzer mit ID = 10 gibt, habe ich eine Ausnahme wie: ActiveRecord::RecordNotFound: Couldn't find User with ID=10 Kann ich Null bekommen, anstatt eine Ausnahme auszulösen, wenn ich so etwas mache wie: unless user = Challenge.find(10) …
class Agents << ActiveRecord::Base belongs_to :customer belongs_to :house end class Customer << ActiveRecord::Base has_many :agents has_many :houses, through: :agents end class House << ActiveRecord::Base has_many :agents has_many :customers, through: :agents end Wie füge ich dem AgentsModell für hinzu Customer? Ist das der beste Weg? Customer.find(1).agents.create(customer_id: 1, house_id: 1) Das obige …
Rails hat eine neue Methode zur Validierung von Attributen innerhalb des Modells eingeführt. Wenn ich benutze validates :title, :presence => true Es funktioniert aber, wenn ich versuche, eine benutzerdefinierte Nachricht hinzuzufügen validates :title, :presence => true,:message => "Story title is required" Es wird ein Fehler generiert Unknown validator: 'message'
Laut Rails doc: http://guides.rubyonrails.org/migrations.html "Active Record verfolgt, welche Migrationen bereits ausgeführt wurden. Sie müssen also nur Ihre Quelle aktualisieren und rake db: migrate ausführen." Wie macht ActiveRecord das eigentlich? Wo speichert Active Record die Daten? Ich vermute, dass dies in der Datenbank selbst gespeichert sein könnte? Irgendwo in einem Tisch. …
Ich habe eine Klasse namens CachedObject, die generische serialisierte Objekte speichert, die nach Schlüssel indiziert sind. Ich möchte, dass diese Klasse eine create_or_updateMethode implementiert . Wenn ein Objekt gefunden wird, wird es aktualisiert, andernfalls wird ein neues erstellt. Gibt es eine Möglichkeit, dies in Rails zu tun, oder muss ich …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.