ruby-on-rails-3.1

Ruby on Rails Version 3.1.0 ist eine spezielle Version von Ruby on Rails. Es wurde am 30. August 2011 veröffentlicht. Verwenden Sie dieses Tag für Probleme im Zusammenhang mit der Entwicklung in Ruby on Rails Version 3.1.
1
Antwort

Wie gestatte ich mehrzeiligen Inhalt in einem rails text_area-Feld?

Wie würde ich Benutzern erlauben, mehrzeiligen Text in ein text_area -Formular einzugeben? Zur Zeit, wenn Inhalte in text area eingegeben werden, werden die Zeilenumbrüche entfernt ... Sie bleiben erhalten, wenn ich den Inhalt bearbeite...
28.12.2012, 19:36
2
Antworten

Warum führt die Verwendung der Summe in einem Bereich von rails 3.1 zu einem Fehler?

Ich habe diesen Umfang: %Vor% Wenn ich renne: %Vor% Ich bekomme diesen Fehler: %Vor% Das Ausführen der Summenmethode funktioniert direkt %Vor% Ich kann keine Dokumentation zu default_scoped finden? Methode oder warum es hier aufg...
09.09.2011, 18:55
4
Antworten

Rails-Tests mit 0% bestanden, wenn alle bestanden wurden

Meine App "Rails" besteht ihren Test, sagt aber, dass 0% bestanden haben. Es ist eine Rails 3 App, die in 3.1 konvertiert wurde. %Vor% Wenn ich eine neue Rails 3.1 App erzeuge, hat sie diese "bestandene" Zeile nicht. %Vor% Beide laufen u...
09.10.2011, 20:54
1
Antwort

Entwickeln Sie use_authentication_token meldet undefined Methode

Das Benutzermodell sieht so aus: %Vor% In devise.rb Datei habe ich unkommentiert: %Vor% Meine Benutzermigration sieht folgendermaßen aus: %Vor% Beim Erstellen eines Benutzers werden folgende Parameter angezeigt: %Vor% Aber ich be...
03.01.2012, 18:15
2
Antworten

Wie erstelle ich ein verschachteltes Formular mit Mongoid eingebetteten Ressourcen in Rails 3?

Ich habe ein Rezeptmodell, in das Zutaten eingebettet sind, mit Mongoid. %Vor% Ich möchte in der Lage sein, gleichzeitig ein neues Rezept und die zugehörigen Zutaten für dieses Rezept zu kreieren, aber ich habe Mühe zu verstehen, wie ich das...
13.07.2011, 21:24
2
Antworten

Rails 3.1's has_secure_password funktioniert gut mit OmniAuth

Ich portiere ein Projekt von Rails 3 nach 3.1. Mein Authentifizierungssystem wurde in ActiveRecord einfach auf das neue has_secure_password umgestellt. Das einzige Problem, auf das ich stoße, ist, dass ich auch OmniAuth benutze und das System ei...
21.09.2011, 02:07
2
Antworten

javascript - Twitter bootstrap jquery plugins nicht für die Produktion kompiliert

Ich entwickle eine 3.1 Rails App mit Twitter Bootstrap mit seyhunaks Edelstein . Im Produktionsmodus konnte ich grundlegende Bootstrap CSS und JS durch Pipeline-Precompilation verwenden: %Vor% Verwenden der Edelsteindatei: %Vor% Und...
20.04.2012, 07:26
3
Antworten

Rails 3.1 Assets im Cache auf Heroku

Selbst wenn ich bereits Assets rake: alle meine Assets vorkompilieren, scheint es immer noch schwierig zu sein, Heroku zu bekommen, um sie korrekt zwischenzuspeichern. Ich bekomme Dinge wie %Vor% aus meinem Protokoll. Obwohl es scheint, als...
04.06.2011, 16:43
4
Antworten

___ answer7372219 ___

Endlich habe ich ein paar Workarounds / Lösungen ausgearbeitet.

1) Von Ссылка sieht es aus, als könnte das in Sass-Rails behoben werden. Ich habe Helfer geplappert. Ich richte mich nach dem vorgeschlagenen Patch im obigen Link. Ich habe einfach die erforderliche Umgebungsvariable in der Asset-Vorkompilierungszeile in %code% festgelegt.

Ich mache alle meine Affe-Patches in einer einzigen Datei %code% . In dieser Datei habe ich diese Methode wie folgt gepatcht:

%Vor%

2) Wenn Sie Bilder in das CSS einbetten möchten, ändern Sie das Stylesheet mit der Erweiterung .erb und ersetzen Sie %code% durch %code% , ohne dass sass-rails geändert werden müssen. %code% existiert nicht als reine Sass-Funktion, daher müssen Sie den Rails-Helfer %code% verwenden.

    
___ qstnhdr __ Vorkompilierte Assets in Rails 3.1 beim Deployment in einen Sub-URI defekt ___ answer8398122 ___

In den neuesten Rails 3.1.3 müssen Sie jetzt ein anderes Modul installieren, damit es funktioniert

Das habe ich gemacht

%Vor%

Und in meinem deploy.rb habe ich:

%Vor%     
___ qstntxt ___

Ich bin dabei, eine Rails 3-App zu aktualisieren, um Rails 3.1 zu verwenden, und benutze dabei die neue Asset-Pipeline. Bis jetzt habe ich alles außer einem ziemlich nervigen Problem, das ich nicht lösen kann.

Die Anwendung und alle ihre Assets funktionieren in der Entwicklung gut, aber in der Produktion wird sie mit Passenger ( %code% ) in einen Sub-URI deployed. Das Problem dabei ist, dass die Assets während der Bereitstellung vorkompiliert werden und eine meiner CSS-Dateien (nun, es ist eine %code% -Datei) den %code% -Helfer aus dem %code% -Element nutzt. Da die Pfade während der Vorkompilierung in der vorkompilierten CSS-Datei fest codiert sind, wird die Sub-URI nicht berücksichtigt:

In meiner %code% Datei:

%Vor%

Das Ergebnis in der kompilierten %code% -Datei:

%Vor%

Was sollte es sein, damit es richtig funktioniert:

%Vor%

Ist dieses Szenario nur zu viel verlangt? Wenn das der Fall ist, muss ich auf den alten, nicht auf Assets basierenden Weg zurückwechseln und meine Bilder und CSS nur von %code% aus bedienen. Es scheint jedoch etwas zu sein, über das nachgedacht und gelöst werden sollte ...? Fehle ich die Lösung?

Edit 1: Ich sollte das mit der Erb-Lösung liefert stattdessen das gleiche Ergebnis, wie man es erwarten würde.

Edit 2: als Antwort auf Benoit Garrets Kommentar

Nein, das Problem hängt nicht mit %code% zusammen. Ich habe versucht, dies zu setzen (auf %code% anstatt auf den Standardwert %code% ), aber es stellte sich heraus, dass das falsch war - es scheint, dass diese Einstellung bereits mit dem Stamm der Rails-App zusammenhängt, nicht mit dem Server . Das zu entfernen (und somit zum Standard zurückzukehren) hat all die seltsamen Probleme behoben, die verursacht haben (und es gab viele, alle Assets wurden in %code% gelandet - es war alles sehr seltsam). Das einzige Problem ist, dass die %code% Helfer und Freunde den Sub-URI nicht übernehmen, wenn sie vorkompiliert sind. Unnötig zu sagen, dass dies logisch ist, da es, wenn es vorkompiliert ist, nicht wissen kann, dass es, wenn es unter Passenger läuft, auf diese Weise konfiguriert wird. Meine Frage ist, wie ich es darüber informieren soll und damit die richtigen Pfade im vorkompilierten Ergebnis erhalten. Wenn es tatsächlich möglich ist.

Meine aktuelle Problemumgehung besteht darin, die CSS-Datei wie folgt zu referenzieren: %code% und in den nicht-pipelinierten Speicherort %code% zu platzieren. Kaum ideal, da es nicht vom Fingerabdruck und allem, was die Pipeline bietet, profitiert.

    
___ tag123assetpipeline ___ Die Asset-Pipeline bietet ein Framework zum Verketten und Minimieren oder Komprimieren von JavaScript- und CSS-Assets. Es fügt auch die Fähigkeit hinzu, diese Assets in anderen Sprachen und Vorprozessoren wie CoffeeScript, Sass und ERB zu schreiben. ___ answer7374367 ___

Nachdem ich ein bisschen gegraben habe, habe ich das Problem gefunden. Das Problem tritt in Rails auf, insbesondere in Ritzels :: Helpers :: RailsHelper :: AssetPaths # compute_public_path. Rinkets :: Helpers :: RailsHelper :: AssetPaths erbt von ActionView :: AssetPaths und überschreibt eine Reihe von Methoden. Wenn compute_public_path über die Methode sass :: Rails :: Resolver # public_path aufgerufen wird, ist der racks rack helper die Aufgabe, das Asset aufzulösen. Rippets :: Helpers :: RailsHelper :: AssetPaths # compute_public_path wird auf Super verteilt, was ActionView :: AssetPaths # compute_public_path ist. In dieser Methode gibt es eine Bedingung von has_request? auf rewrite_relative_url_root wie unten zu sehen:

%Vor%

Wenn Sie sich die Interna von rewrite_relative_url_root ansehen, hängt es von einer Anforderung ab, dass sie vorhanden ist, und der Fähigkeit, sie von der Controller-Variablen abzuleiten, um den relativen URL-Root aufzulösen. Das Problem ist, dass wenn Rakete diese Ressourcen für Sass auflöst, es keinen Controller vorhanden hat und daher keine Anfrage.

Die obige Lösung funktionierte für mich im Entwicklungsmodus nicht. Hier ist die Lösung, die ich verwende, um es für jetzt zu arbeiten:

%Vor%     
___ tag123passenger ___ Passenger ist ein Anwendungsserver für Rack-, Node.js- und WSGI-Anwendungen, die eigenständig oder als Apache- oder Nginx-Modul ausgeführt werden können. ___ tag123assets ___ 1. Nicht mit einer Anwendung gepackte Dateien (z. B. Daten- oder Mediendateien). 2. Aus Sicherheitsgründen - alle Daten oder Ressourcen, die geschützt werden sollten (oder können). ___ answer12122877 ___

Ich verwende Rails 3.1.3 und setze erfolgreich einen Sub-URI ein. Ich habe nichts gepatcht.

Die Hauptprobleme bei diesem Setup wurden hier besser besprochen. Wie Sie sehen können, wurde die Lösung auf Rails 3.2 angewendet und niemals nach 3.1.4 zurückgeliefert.

Aber ich bin zu einer Lösung gekommen, die Rails 3.1.3 verwendet, die für meine Einrichtung funktioniert.

Probieren Sie Folgendes aus: (Ich bin kein Experte, versuche nur einen Beitrag zur Lösung eines Problems zu leisten, das mich stundenlang belästigt hat ...)

environment.rb:

%Vor%

production.rb:

%Vor%

routes.rb:

%Vor%

Wie Sie sehen können, habe ich assets.prefix in production.rb und nicht in application.rb abgelegt Danach tun Sie:

%Vor%

und als, Test mit der Konsole:

%Vor%

Ergebnisse:

%Vor%     
___ tag123rubyonrails31 ___ Ruby on Rails Version 3.1.0 ist eine spezielle Version von Ruby on Rails. Es wurde am 30. August 2011 veröffentlicht. Verwenden Sie dieses Tag für Probleme im Zusammenhang mit der Entwicklung in Ruby on Rails Version 3.1. ___ tag123stokes ___ Raketools ist eine Ruby-Bibliothek, die JavaScript- und CSS-Quelldateien vorverarbeitet und verkettet. ___

Ich bin dabei, eine Rails 3-App zu aktualisieren, um Rails 3.1 zu verwenden, und benutze dabei die neue Asset-Pipeline. Bis jetzt habe ich alles außer einem ziemlich nervigen Problem, das ich nicht lösen kann. Die Anwendung und alle ihre Asse...
03.09.2011, 15:07
2
Antworten

csrf-Tokens für JSON-Postanforderungen an eine Rails-App erhalten

Ich habe mit Rest-Client gespielt, um auf eine Rails-App zuzugreifen, die ich geschrieben habe. Ich habe ein schnelles Skript geschrieben, um mich einzuloggen und eine Postanfrage zu stellen. Alles funktioniert, aber ich musste um die Tatsache a...
02.05.2012, 12:31