associations

___ qstnhdr ___ HABTM doppelte Datensätze ___ qstntxt ___

Ich habe 2 Modelle %code% & amp; %code% und sie haben eine has_and_belongs_to_many-Zuordnung. Ich habe viele Lösungen versucht, doppelte Datensätze in der Tabelle %code% zu verhindern, aber keine Lösungen funktionieren. Das Problem ist, %code% ist eine Tabelle, aber es ist kein Modell, also kann ich keinen Weg finden, Prüfungen effektiv durchzuführen.

Hier ist eine Lösung, die ich versucht habe

%Vor%     
___ answer21904493 ___

Sie sollten die Validierung auf Datenbankebene verwenden:

%Vor%

HABTM

Dies verhindert, dass Sie doppelte Daten in der Datenbank speichern. Lässt die Last von Rails & amp; stellt sicher, dass Sie nur ein Spiel oder ein Thema haben. Das Problem liegt darin, dass HABTM kein Modell hat. Es gibt keine Validierung, die Sie in Rails durchführen können, was bedeutet, dass Sie es auf db-level

setzen müssen

Wie in den Kommentaren erwähnt, bedeutet dies, dass Sie die Ausnahmen, die von der db ausgelöst werden, wie folgt behandeln müssen:

%Vor%     
___ answer21896617 ___

Um Validierungen in der Join-Tabelle durchzuführen, sollten Sie stattdessen %code% association verwenden. Ссылка

    
___ tag123rubyonrails3 ___ Ruby on Rails ist ein in Ruby geschriebenes Open-Source-Web-Entwicklungs-Framework. Ruby on Rails folgt dem Prinzip der Konvention über die Konfiguration und befreit Sie davon, Dinge neu erfinden zu müssen, um produktiv zu bleiben. Verwenden Sie dieses Tag nur für Rails 3-spezifische Fragen und markieren Sie diese Fragen [ruby-on-rails]. ___ tag123rubyonrails ___ Ruby on Rails ist ein Open-Source-Full-Stack-Webanwendungs-Framework, das in Ruby geschrieben ist. Es folgt dem populären MVC-Framework-Modell und ist bekannt für seinen "convention over configuration" -Ansatz für die Anwendungsentwicklung. ___ tag123Assoziationen ___ Assoziationen beziehen sich normalerweise auf Beziehungen zwischen Modellen in ORMs wie ActiveRecord. ___ tag123ruby ___ Ruby ist eine multi-plattform Open-Source, dynamische objektorientierte interpretierte Sprache, erstellt von Yukihiro Matsumoto (Matz) im Jahr 1995. Die [Ruby] -Tag ist für Fragen im Zusammenhang mit der Ruby-Sprache, einschließlich seiner Syntax und seiner Bibliotheken . Fragen speziell zum Ruby-on-Rails-Framework sollten mit [ruby-on-rails], nicht [ruby] getaggt werden. Verwenden Sie dies nicht, um Ruby in der japanischen Sprache zu markieren. ___ answer21901340 ___

Das Erstellen eines neuen Model GameTheme zur Validierung ist keine gute Idee. Wir können uns bei der Migration selbst validieren.

Theme Modell:

%Vor%

Spielmodell:

%Vor%

games_themes Migration: Sie können der Join-Tabelle Eindeutigkeit hinzufügen. Sehen Sie sich hier für weitere Details.

%Vor%     
___ answer21896637 ___

Verwenden:

%Vor%

Wie folgt:

%Vor%     
___
5
Antworten

Rails - build_association funktioniert nicht für eine has_one- und provides_to-Beziehung

Ich habe zwei Modelle %Vor% Aber wenn ich versuche, ein Elternteil vom Kind zu erstellen, z. sub.build_client Der Fremdschlüssel wird nicht gesetzt, z. B. %Vor% Es funktioniert, wenn ich client.build_subscription mache %Vor% Ich habe...
11.01.2010, 06:14
2
Antworten

Rails: Formular zum Auswählen eines vorhandenen übergeordneten Elements beim Erstellen neuer untergeordneter Datensätze?

Ich habe eine Assoziation zwischen has_many und mirsons_to zwischen zwei Modellen: Project und Task. Ich möchte ein Formular erstellen können, mit dem ich eine neue Aufgabe erstellen und ein vorhandenes Projekt als Eltern zuweisen kann. Zum B...
07.12.2010, 18:53
1
Antwort

Wie kann ich neue Datensätze mit has_many: through und honor: conditions erstellen?

Nehmen wir an, ich habe einen Kurs, in dem sich Studenten über eine Mitgliedschaft anmelden können (z. B. eine has_and_belongs_to_many-Beziehung zu Kursen und Studenten). Einige Mitgliedschaften sind für Studenten, die nur die Klasse beobachten...
03.10.2009, 21:13
1
Antwort

Die Überschreibung der Strategie zur Generierung von Standard-IDs hat keine Auswirkungen auf Zuordnungen

Symfony 2.7.2. Lehre ORM 2.4.7. MySQL 5.6.12. PHP 5.5.0. Ich habe eine Entität mit einer benutzerdefinierten ID-Generatorstrategie. Es funktioniert einwandfrei. Unter Umständen muss ich diese Strategie mit einer "handgemachten" ID überschreibe...
23.07.2015, 17:32
5
Antworten

ClickOnce-Bereitstellung - Dateizuordnung nicht registriert

Also hier ist eine kurze Zusammenfassung des Problems: Zusammenfassung:    Ich setze fileAssociations für meine ClickOnce-Anwendungen, sie werden jedoch nicht registriert , wenn ich mein Programm ausführe / aktualisiere (wie in den .b...
27.06.2011, 05:58
3
Antworten

Node.js - Sequelize.js verschachtelte Assoziationsüberprüfung in der äußeren Bedingung - undefined

Implementierung mit Sequelize-Version: "^ 4.15.0" Ich versuche, eine Wo-Bedingung von der Ebene 2 nach unten zu den Assoziationen hinzuzufügen. %Vor% Ich habe die Methode müde: %Vor% Aber gibt den Fehler, dass model2_alias.model3_ali...
12.02.2018, 07:54
1
Antwort

Elasticsearch, Tyre & Associations

Running: Ruby 1.9.3p0 (2011-10-30 Revision 33570) [x86_64-darwin11.2.0], Rails 3.2.0 Ich versuche eine elastische Suche zu bekommen, indem ich den TREU-Edelstein über Assoziationen durcharbeiten kann. Aus irgendeinem Grund bekomme ich immer d...
12.03.2012, 17:26
2
Antworten

Getting NameError: nicht initialisierte Konstante bei der Zuweisung von "aneries_to"

Ich habe zwei Modelle wie folgt aus: %Vor% Wenn ich den folgenden Code, erhalte ich eine Fehlermeldung: %Vor% Aber wenn ich das Home-Modell aktualisiere: %Vor% Aus irgendeinem Grund kann ich die zugehörigen Räume bekommen, kann aber...
17.12.2015, 09:29
2
Antworten

Hat has_many auf der anderen Seite die Angabe gehört?

Wenn Parent has_many :children , muss Child :belongs_to :parent ?     
28.05.2009, 16:08
3
Antworten

Speichert ActiveRecord beim Speichern des Hauptobjekts eine assignes_to-Verknüpfung?

Wenn ich zwei Modelle habe: %Vor% und %Vor% Wenn ich das tue: %Vor% Wird der Benutzer ebenfalls gespeichert und der Primärschlüssel korrekt in post 's user_id -Feld zugewiesen?     
09.02.2010, 18:22