dans mes rails Application J'ai un fichier Tous ces fichiers partagent souvent des fonctionnalités communes telles que: P> sample_data.rb code> INDIEMENT
/ lib / tâches code> ainsi qu'un tas de fichiers de test dans mon
/ spec Code> Répertoire.
def random_address
[Faker::Address.street_address, Faker::Address.city].join("\n")
end
3 Réponses :
Vous pouvez créer une classe statique, avec des fonctions statiques. Cela ressemblerait à ceci comme suit: puis, tout ce que vous auriez besoin de faire est: p> l'exécuter comme: p>
Lorsque vous le faites, assurez-vous d'inclure des dépendances dans votre
HelperFunctions Code> Classe. P> P>
Merci pour ton aide! Dans quel répertoire mettriez-vous cette classe?
C'est à vous. Je l'aurais probablement placé dans le répertoire du contrôleur.
NOOOOO pas le répertoire du contrôleur. C'est exactement pourquoi il y a un dossier lib code>. Le dossier
app / contrôleurs code> ne doit contenir que des contrôleurs.
Si vous êtes sûr que cela ne soit sûr que spécifique, vous pouvez également ajouter directement dans J'utilise ceci pour Simplifiez la syntaxe d'invocation de Rake's's Invoke: P> de cette façon, je peux utiliser rails_root / rakefile code> (ce n'est probablement pas le cas pour l'exemple que vous utilisez).
invoquer "my_namespace: my_tak" code> dans les tâches de rake au lieu de
rake :: Tâche ["my_namespace: my_task"] .invoke code>. P> p>
Exactement pourquoi j'ai fini ici! Voulait savoir où mettre un wrapper pour rake :: Tâche ['Espace de noms: tâche']. Renable; RAKE :: Tâche ['Espace de noms: tâche']. Invoquer code>.
Vous partagez des méthodes dans un module et vous placez un tel module dans le dossier quelque chose comme et à l'intérieur de votre tâche de râteau nécessite juste le module et appelez Mais, si c'est comme une graine Besoin de faire chaque fois que vous exécutez vos tests, vous devriez envisager d'ajouter ceci à votre spec_helper code> ressemble à ceci: p> et le module lib code>.
lib / faux_data.rb code> contenant p> contenant p>
feedata.random_address code>. p>
avant tout code>. p>
setupsupport code> est défini dans
SPEC / SUPPORT / SETUP_SUPPORT .rb code> et ressemble à ce qui suit: p>
module SetupSupport
def load_db_seed
load(File.join(Rails.root, 'db', 'seeds.rb'))
end
end
Afin de rendre votre code d'exemple code> Fakeata Code> Code de code, il apparaîtrait que l'instruction Module_Function CODE> doit être insérée avant i> Définition du
Random_address Code> fonction, plutôt que après i>.
Qu'est-ce que cela a à voir avec le râteau? Tout ce que je vois sont des fichiers .rb. Ceci est un titre trompeur.