Doug
Doug

Reputation: 15523

UndefinedFunctionError - iex aliasing in phoenix / ecto

when i launch

iex -S mix phoenix.server

I would like to be able to run commands like:

iex(1) > Repo.all(MyModel)

However, this gives me this error:

(UndefinedFunctionError) undefined function: Repo.all/1 (module Repo is not available)

If I prefix my calls with my ProjectName, it works:

iex(1) > ProjectName.Repo.all(ProjectName.MyModel)

How can I avoid having to prefix my calls with my Project Name in iex?

Upvotes: 5

Views: 670

Answers (1)

Dogbert
Dogbert

Reputation: 222358

If you add code to the file .iex.exs, it'll get executed whenever you launch iex in that directory. So if you just add this to your .iex.exs:

alias ProjectName.{Repo, MyModel}

you'll be able to access ProjectName.Repo as Repo and ProjectName.MyModel as MyModel.

Upvotes: 7

Related Questions