À propos de la méthode d'assistance, j'ai lu Perfect Ruby on Rails [édition révisée améliorée] et je résume ce que j'ai personnellement appris. ..
Une méthode pratique pour vous aider à développer avec des modèles de vue. Certains génèrent du HTML et d'autres des URL.
Si le chemin commençant par / excluant le domaine et le port avec la valeur de préfixe + _path
lors de l'affichage du routage est défini sur la valeur de préfixe + _url
, l'URL complète comprenant le domaine, etc. est renvoyée.
Si le chemin a une valeur fluctuante telle que ": id", spécifiez la valeur au format de hachage comme argument.
Utilisé lors de la spécification d'un chemin ou d'une URL avec url_for, link_to ou redirect_to.
Dans le cas du routage suivant, le chemin et l'URL suivants sont renvoyés.
** routage **
users GET /users(.:format) users#index
user GET /users/:id(.:format) users#show
edit_user GET /users/:id/edit(.:format) users#edit
** Chemin de retour et URL **
/users
/users/1
http://www.example.com/users/1/edit
url_for Méthode d'assistance pour créer le chemin d'une application Web. Vous pouvez tirer parti des définitions de routage sans écrire directement de chaînes. Utilisez-le lorsque vous souhaitez simplement obtenir l'URL.
url_for(users_path)
#=> /users
link_to
link_to est une méthode d'assistance qui génère une balise a.
À utiliser lorsque vous souhaitez définir un lien à l'écran en utilisant la définition du routage avec _path
ou _url
.
link_to('Éditer', edit_user_path(id: 1))
#=> <a href="/users/1/edit">Éditer</a>
time_ago_in_words Une méthode d'aide qui permet aux humains de voir facilement combien d'espace il y a entre un certain temps et l'heure actuelle. Il semble qu'il puisse être utilisé dans un service qui affiche la dernière date et heure de connexion.
time_ago_in_words(Time.current)
#=> less than a minute
time_ago_in_words(Time.current + 3.days)
#=> 3 days
number_with_delimiter Une méthode d'assistance qui sépare les nombres longs par des virgules. Vous pouvez éventuellement modifier le délimiteur.
number_with_delimiter 1234567890
#=> 1,234,567,890
number_with_delimiter 1234567890, delimiter: '@'
#=> 1@234@567@890
Il existe diverses autres méthodes d'assistance disponibles dans Rails, donc avant de les implémenter vous-même, [Rails Guide](https://railsguides.jp/action_view_overview.html#action-view%E3%81%AE% 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) semble être une bonne référence.
Si la méthode d'assistance intégrée Rails ne répond pas à vos besoins, implémentez vous-même la méthode d'assistance. Le module de définition des méthodes d'assistance est défini dans le répertoire "app / helpers". Fichier d'aide correspondant au contrôleur tel que "app / helpers / application_helper.rb" s'il est utilisé pour l'ensemble de l'application, et "app / helpers / users_helper.rb" s'il est utilisé pour chaque contrôleur. préparer.
Exemple) Méthode d'assistance pour convertir des caractères anglais pleine largeur en demi-largeur
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 [Édition augmentée et révisée]
Recommended Posts