J'ai un objet appelé humain et cet objet a un champ appelé travail. Je veux que les utilisateurs puissent ajouter leurs propres travaux (qui seront évidemment ajoutés dans leur propre langue) mais je veux avoir n'importe quel travail qui est un défaut dans la base de données pour être traduit quand quelqu'un fait un Human.job, peut traduire rails la valeur par défaut si elle est dans la vue mais pas si elle est dans le modèle car j'ai une logique sql qui teste combien d'humains ont le travail de codeur.Remplacement des attributs du modèle d'enregistrement actif uniquement dans la vue
#Human
class Human < ActiveRecord::Base
validates_presence_of :job, :name
def job
if is_view?
key = job.gsub(/ /,'_')
translation = I18n.translate("jobs.#{key.downcase}")
if translation.include?('translation missing:')
job
else
translation
end
else
job
end
end
end
#en.yml
en:
jobs:
coder: 'coder'
#en-Accountants.yml
en-Accountants:
jobs:
coder: 'slave'
#fr.yml
fr:
jobs:
coder: 'le coder'
par exemple:
Un humain « Bob » avec un emploi de « Coder » devrait être « esclave » aux comptables et « le codeur » à ceux qui utilisent l'application en français, mais je devrais être en mesure de faites toujours une recherche pour chaque codeur.
Merci Shadwell! C'est une grande aide! – davidahines