Als «activerecord» getaggte Fragen

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.


9
Wie kann eine leere ActiveRecord-Beziehung zurückgegeben werden?
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 …

11
Schienen: Wählen Sie eindeutige Werte aus einer Spalte aus
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



19
Suche ohne Berücksichtigung der Groß- und Kleinschreibung im Rails-Modell
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 …

6
Was verursacht diesen ActiveRecord :: ReadOnlyRecord-Fehler?
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 …

5
Schienen find_or_create_by mehr als ein Attribut?
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 …



4
delete_all vs destroy_all?
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 …


10
Rails 3-Migrationen: Referenzspalte hinzufügen?
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 …


4
ActiveRecord-Attributmethoden überschreiben
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 …

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.