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.
Wenn ich einen Gültigkeitsbereich mit einem Lambda habe und abhängig vom Wert des Arguments ein Argument benötigt, weiß ich möglicherweise, dass es keine Übereinstimmungen gibt, möchte aber dennoch eine Beziehung zurückgeben, kein leeres Array: scope :for_users, lambda { |users| users.any? ? where("user_id IN (?)", users.map(&:id).join(',')) : [] } Was ich …
Ich habe bereits eine funktionierende Lösung, würde aber gerne wissen, warum dies nicht funktioniert: ratings = Model.select(:rating).uniq ratings.each { |r| puts r.rating } Es werden eindeutige Werte ausgewählt, aber nicht gedruckt. Es werden alle Werte einschließlich der Duplikate gedruckt. Und es ist in der Dokumentation: http://guides.rubyonrails.org/active_record_querying.html#selecting-specific-fields
Ich versuche, eine benutzerdefinierte Rechenaufgabe zu erstellen, aber anscheinend habe ich keinen Zugriff auf meine Modelle. Ich dachte, dies sei implizit in der Rails-Aufgabe enthalten. Ich habe den folgenden Code in lib / task / test.rake: namespace :test do task :new_task do puts Parent.all.inspect end end Und so sieht mein …
Mein Produktmodell enthält einige Artikel Product.first => #<Product id: 10, name: "Blue jeans" > Ich importiere jetzt einige Produktparameter aus einem anderen Datensatz, aber es gibt Inkonsistenzen in der Schreibweise der Namen. Zum Beispiel könnte im anderen Datensatz Blue jeansgeschrieben werden Blue Jeans. Ich wollte Product.find_or_create_by_name("Blue Jeans"), aber dadurch entsteht …
Dies folgt dieser vorherigen Frage, die beantwortet wurde. Ich habe tatsächlich festgestellt, dass ich einen Join aus dieser Abfrage entfernen kann. Jetzt funktioniert die Abfrage start_cards = DeckCard.find :all, :joins => [:card], :conditions => ["deck_cards.deck_id = ? and cards.start_card = ?", @game.deck.id, true] Dies scheint zu funktionieren. Wenn ich jedoch …
In Active-Record gibt es ein praktisches dynamisches Attribut namens find_or_create_by: Model.find_or_create_by_<attribute>(:<attribute> => "") Aber was ist, wenn ich nach mehr als einem Attribut suchen oder erstellen muss? Angenommen, ich habe ein Modell für die Behandlung einer M: M-Beziehung zwischen Gruppe und Mitglied namens GroupMember. Ich könnte viele Instanzen haben, in …
Gibt es eine Möglichkeit, eine Sammlung aller Modelle in Ihrer Rails-App abzurufen? Grundsätzlich kann ich Folgendes tun: - Models.each do |model| puts model.class.name end
Gibt es eine Möglichkeit, zu überprüfen, ob ein tatsächlicher Datensatz eindeutig ist und nicht nur eine Spalte? Beispielsweise sollte ein Freundschaftsmodell / eine Freundschafts-Tabelle nicht mehrere identische Datensätze enthalten können, wie z. user_id: 10 | friend_id: 20 user_id: 10 | friend_id: 20
Ich suche nach dem besten Ansatz, um Datensätze aus einer Tabelle zu löschen. Zum Beispiel habe ich einen Benutzer, dessen Benutzer-ID sich über viele Tabellen erstreckt. Ich möchte diesen Benutzer und jeden Datensatz löschen, der seine ID in allen Tabellen hat. u = User.find_by_name('JohnBoy') u.usage_indexes.destroy_all u.sources.destroy_all u.user_stats.destroy_all u.delete Dies funktioniert …
Wenn ich eine neue Rails 3-Migration mit (zum Beispiel) erstelle rails g migration tester title:tester user:references , alles funktioniert gut ... aber wenn ich eine Spalte mit etwas in der Art von: rails g migration add_user_to_tester user:references Das Referenzfeld wird nicht erkannt. Kurz gesagt lautet die Frage: Wie füge ich …
Ein Beispiel für das, wovon ich spreche: class Person < ActiveRecord::Base def name=(name) super(name.capitalize) end def name super().downcase # not sure why you'd do this; this is just an example end end Dies scheint zu funktionieren, aber ich habe gerade den Abschnitt über das Überschreiben von Attributmethoden in den ActiveRecord …
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.