Über die Hilfsmethode habe ich Perfect Ruby on Rails [erweiterte überarbeitete Ausgabe] gelesen und zusammengefasst, was ich persönlich gelernt habe. ..
Eine praktische Methode zur Entwicklung von Ansichtsvorlagen. Einige generieren HTML und andere URL.
Wenn der Pfad, der mit / ohne Domäne und Port mit dem Präfixwert + _path
beginnt, wenn das Routing angezeigt wird, auf den Präfixwert + _url
gesetzt ist, wird die vollständige URL einschließlich der Domäne usw. zurückgegeben.
Wenn der Pfad einen schwankenden Wert wie ": id" hat, geben Sie den Wert im Hash-Format als Argument an.
Wird verwendet, wenn ein Pfad oder eine URL mit url_for, link_to oder redirect_to angegeben wird.
Beim folgenden Routing werden der folgende Pfad und die folgende URL zurückgegeben.
** Routing **
users GET /users(.:format) users#index
user GET /users/:id(.:format) users#show
edit_user GET /users/:id/edit(.:format) users#edit
** Rückgabepfad und URL **
/users
/users/1
http://www.example.com/users/1/edit
url_for Hilfsmethode zum Erstellen des Pfads einer Webanwendung. Sie können Routing-Definitionen nutzen, ohne Zeichenfolgen direkt schreiben zu müssen. Verwenden Sie es, wenn Sie nur die URL erhalten möchten.
url_for(users_path)
#=> /users
link_to link_to ist eine Hilfsmethode, die ein Tag generiert. Verwenden Sie diese Option, wenn Sie einen Link auf dem Bildschirm festlegen möchten, indem Sie die Definition für das Routing mit "_path" oder "_url" verwenden.
link_to('Bearbeiten', edit_user_path(id: 1))
#=> <a href="/users/1/edit">Bearbeiten</a>
time_ago_in_words Eine Hilfsmethode, mit der Menschen leicht erkennen können, wie viel Platz zwischen einer bestimmten Zeit und der aktuellen Zeit liegt. Es scheint, dass es in einem Dienst verwendet werden kann, der das Datum und die Uhrzeit der letzten Anmeldung anzeigt.
time_ago_in_words(Time.current)
#=> less than a minute
time_ago_in_words(Time.current + 3.days)
#=> 3 days
number_with_delimiter Eine Hilfsmethode, die lange Zahlen durch Kommas trennt. Sie können optional das Trennzeichen ändern.
number_with_delimiter 1234567890
#=> 1,234,567,890
number_with_delimiter 1234567890, delimiter: '@'
#=> 1@234@567@890
In Rails stehen verschiedene andere Hilfsmethoden zur Verfügung. Bevor Sie sie selbst implementieren, lesen Sie Rails Guide E3% 83% 98% E3% 83% AB% E3% 83% 91% E3% 83% BC% E3% 83% A1% E3% 82% BD% E3% 83% 83% E3% 83% 89% E3% 81% AE% E6% A6% 82% E8% A6% 81) scheint eine gute Referenz zu sein.
Wenn die in Rails integrierte Hilfsmethode nicht Ihren Anforderungen entspricht, implementieren Sie die Hilfsmethode selbst. Das Modul zum Definieren von Hilfsmethoden ist im Verzeichnis "app / helpers" definiert. Datei für den Helfer, der dem Controller entspricht, z. B. "app / helpers / application_helper.rb", wenn er für die gesamte Anwendung verwendet wird, und "app / helpers / users_helper.rb", wenn er für jeden Controller verwendet wird. bereiten.
Beispiel) Hilfsmethode zum Konvertieren von englischen Zeichen in voller Breite in halbe Breite
app/helper/application_helper.rb
module ApplicationHelper
def to_hankaku(str)
str.tr('A-Za-z', 'A-Za-z')
end
end
to_hankaku('Ruby')
#=> Ruby
Perfect Ruby on Rails [erweiterte und überarbeitete Ausgabe]
Recommended Posts