Tischloses Modell in Schienen 3.1

7

Sieht aus wie diese Methode funktioniert nicht mehr in Rails 3.1. Hat also jemand eine funktionierende Lösung?

Eigentlich habe ich das gist gefunden. Es behebt Probleme mit columns_hash und column_defaults Fehlern von der Lösung von railscast, aber ich bekomme ActiveRecord::ConnectionNotEstablished error die ganze Zeit, wenn ich versuche, ein Attribut zu schreiben.

Irgendwelche Gedanken?

    
Vasiliy Ermolovich 01.09.2011, 19:31
quelle

6 Antworten

6

Sie sollten Ihre eigene Modellklasse erstellen und die benötigten Teile von ActiveModel (z. B. Validierungen) mischen. Dieser Blogpost von Yehuda Katz hat die Details .

    
John Topley 01.09.2011, 20:13
quelle
13

Das einfachste tabellenlose Modell in Rails 3.1 ist:

%Vor%

ActiveModel :: Validations ist optional (nur wenn Validierungen verwendet werden). Auch der Konstruktor ist nicht erforderlich (aber sehr wünschenswert).

    
danigb 19.10.2011 10:09
quelle
9

Für Rails / ActiveRecord 5.0 müssen Sie private def self.load_schema! neu definieren, um eine Überprüfung von table_name zu vermeiden. Beachten Sie auch einen kleinen Hack für die Methode column (Type).

Hier finden Sie die vollständige Liste für das Tableless-Modell für Rails 5.0 / ActiveRecord 5.0

%Vor%     
januszm 11.09.2016 19:55
quelle
7

Dieses tabellenlose Ding scheint mehr und mehr ein Hack zu sein, aber die Mischung ist einfach nicht dasselbe (erinnere mich nicht genau daran, was jetzt nicht funktioniert hat, ich habe mich vor einigen Monaten damit beschäftigt, zurück zu kommen es, weil ein Upgrade auf 3.1 es kaputt gemacht hat). Die Version 3.1.0rc4 arbeitete mit der Methodenüberschreibung 'columns_hash', die Version 3.1.0 erfordert auch eine Überschreibung 'column_defaults'. Also hier ist eine Version, die meine Projekttests besteht.

%Vor%

Ich hoffe, es funktioniert für Sie,

- José

    
José Fernandes 04.09.2011 03:39
quelle
1

Für Rails 3.2 gibt es das activecord-tableless -Gemein. Es ist ein Juwel, um tabellenlose ActiveRecord-Modelle zu erstellen, so dass es Validierungen, Assoziationen und Typen unterstützt.

Wenn Sie die empfohlene Vorgehensweise in Rails 3.x verwenden, gibt es keine Unterstützung für Assoziation oder Typen.

    
Jarl 07.09.2012 12:43
quelle
0

und Für Rails 3.2 sollte die Version von RUBY bevorzugt werden 1.9.3, um Inkompatibilitäten zu vermeiden.

    
pratik 10.09.2012 08:43
quelle

Tags und Links