2010-09-04 3 views
0

J'ai actuellement un modèle que l'utilisateur peut télécharger une vignette à l'enregistrement qui est ensuite affiché sur la page d'affichage spectacle. À l'origine, cette vignette était destinée à permettre à l'utilisateur de trouver facilement le cas lors de la recherche dans la table des vues d'index. Il est devenu évident que les utilisateurs sont seulement en utilisant cette fonction pour télécharger une vignette de l'année - par exemple, ils ont téléchargé un carré rouge avec 10 dans chaque cas avec un numéro de référence de M10-XXX. Donc, je me demandais s'il était possible d'ajouter un assistant au modèle kase pour sortir une image si la référence kase commence par M10. Je pourrais alors inclure dans le même assistant l'image pour 2011, 2012 et ainsi de suite.Rails afficher X image si la référence Case est M10-XXX?

Au moment de la vue show Kase appelle la vignette téléchargé:

<% if @kase.avatar.exists? then %> 
      <%= image_tag @kase.avatar.url %> 
     <% else %> 
      <img src="../images/document.jpg" alt="Document" /> 
     <% end %> 

Ce que je voudrais faire, est d'ajouter une aide telle que:

def kase_thumb k 
    if k.jobno.to_date == Date.today then 
    <img src="images/10.png" alt="2010" /> 
    else 
    <img src="images/no-year-found.png" alt="2010" /> 
    end 
end 

Il est évident que ce qui précède ne serait pas fonctionne car le jobno standard serait M-XXX où il est remplacé par les deux derniers chiffres de l'année en cours.

Est-il possible d'avoir une méthode d'aide qui extrait les deux premiers nombres, mais ignore la première lettre?

J'ai pensé à faire cela avec la date de création, mais les gens peuvent ajouter des cas rétrospectivement à l'application.

Merci,

Danny

Répondre

1

Compte tenu de la chaîne du nombre de cas/identifiant:

number = the_case_id[1,2].to_i 

Hope this helps.

+0

Donc quelque chose comme: 'if number = k.jobno [2,3] .to_i == Date.today then'? – dannymcc

+0

nombre, dans ce cas contiendra le numéro «10» ou un nombre à 2 chiffres. – thomasfedb

+0

Cela peut-il être fait dans une instruction 'if' dans la vue? – dannymcc

Questions connexes