Rails 3 Hilfsmethode in Model anzeigen

8

Ich habe eine Klassenmethode in meinem Modell und muss auf eine Methode von einem meiner Ansichtshelfer zugreifen. Momentan schließe ich include TalkHelper ein, bekomme aber immernoch einen NoMethodError.

    
LanguagesNamedAfterCofee 18.09.2011, 23:08
quelle

3 Antworten

9

Sie können helper in Ihren lib-Ordner stellen und sie an dieser Stelle einfügen. So was: lib / some_helper.rb

%Vor%     
railscard 18.09.2011, 23:40
quelle
41

In Ihrem Modell können Sie Folgendes tun:

%Vor%

ODER

%Vor%

Die beste Lösung besteht darin, Ihren Code neu zu strukturieren, sodass Sie bei Modellen keinen View-Helper-Code aufrufen müssen. Es ist nicht der RoR-Weg. Wie andere darauf hinweisen, könnten Sie den Hilfscode in den lib-Ordner extrahieren.

Sehen Sie dies für weitere Informationen:

Ссылка

    
Innerpeacer 19.09.2011 00:29
quelle
6

Wenn Sie den Helfer in einer Klassenmethode benötigen, müssen Sie extend it, nicht include it.

%Vor%

Seien Sie nur vorsichtig mit Helfern außerhalb des View-Kontexts, da Helfer von controller oder etwas anderem aus dem Kontext einer Anfrage abhängen können, die in Ihrem Modell nicht verfügbar sind.

    
numbers1311407 19.09.2011 00:05
quelle