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?
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 .
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%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é
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.
Tags und Links ruby-on-rails-3.1