2015-12-29 9 views
8

Seguendo il consiglio in this question su come caricare iex con le dipendenze del progetto corrente, ero in grado di lavorare con le dipendenze di phoenix framework in modo piuttosto produttivo. Tuttavia, diventa un po 'noioso dover fornire lo spazio dei nomi del progetto Phoenix per ogni singola cosa.Alias ​​tutti i contenuti di un modulo/namepsace in IEX

Piuttosto che digitare MyApp.Repo.all(MyApp.User) speravo di essere in grado di fare Repo.all(User). Posso alias singolarmente ogni cosa con alias MyApp.Repo, as: Repo ma esiste un modo per farlo tutto in una volta?

risposta

11

È possibile chiamare semplicemente alias MyApp.Repo anziché MyApp.Repo, as: Repo - utilizzerà l'ultima parte del nome del modulo.

In Elixir 1.2 siete in grado di alias multipli sottomoduli per i propri nomi con una sola chiamata: alias MyApp.{Repo, User}

Hai anche la possibilità di un file .iex.exs che può essere utilizzato per impostare le alias. Puoi leggere a questo proposito al numero http://elixir-lang.org/docs/v1.1/iex/IEx.html - Non lo consiglierei in questo caso perché corri il rischio di avere una collisione di nomi. Chiamare alias in una sessione iex è più esplicito.

+1

Sembra che funzionerà benissimo, grazie! Penso che l'aliasing dei modelli phoenix nel file iex.exs in base al progetto mi procurerà esattamente ciò di cui ho bisogno senza rischiare troppe collisioni. –

Problemi correlati