J'essaie d'écrire une seule ligne si autre déclaration dans une vue.
<%= collection.name ? collection.name : @miniature.name %>
Je veux qu'il mette collection.name s'il en existe un, sinon je veux qu'il mette @ miniature.name
Pour que ce soit encore plus clair, vous pouvez utiliser les variables logiques OR
et ActiveSupport's
Object#presence
(pour mettre collection.name
uniquement s’il existe et n’est pas vide):
<%= collection.name.presence || @miniature.name %>
Si vous souhaitez afficher collection.name
s'il ne s'agit pas de nil
, mais qu'il soit vide (chaîne vide ou chaîne ne contenant que des espaces), il vous suffira d'avoir:
<%= collection.name || @miniature.name %>
Vérifiez la présence de collection.name
en premier.
<%= collection.name.present? ? collection.name : @miniature.name %>
Pourriez-vous pas
<%= collection.name ||= @minature.name %>
A ceux qui ont voté vers le bas - Définissez la variable Ruby si elle n’est pas déjà définie