IEX

2015-12-29 36 views
8

'da bir modülün/adresteki tüm içeriklerin takma this question'daki ix öğesinin mevcut projenin bağımlılıkları ile nasıl yükleneceğine ilişkin önerilerin ardından phoenix çerçeve bağımlılıkları ile oldukça verimli bir şekilde çalışabildim. Bununla birlikte, Phoenix projesinin ad alanını her bir şey için sağlaması biraz sıkıcı olur.IEX

MyApp.Repo.all(MyApp.User) yazmadan ziyade Repo.all(User) yapabilmeyi umuyordum. Her şeyi ayrı ayrı alias MyApp.Repo, as: Repo ile taklit edebilirim, ancak her şeyi bir kerede yapmanın bir yolu var mı?

cevap

11

MyApp.Repo, as: Repo yerine alias MyApp.Repo'u arayabilirsiniz - modül adının son bölümünü kullanacaktır.

Elixir 1.2 size bir çağrı ile kendi adlarına birden submodules diğer ad edebiliyoruz: alias MyApp.{Repo, User}

Ayrıca size adlar kurmak için kullanabileceğiniz bir .iex.exs dosyanın seçeneği vardır. Bu konuda http://elixir-lang.org/docs/v1.1/iex/IEx.html numaralı telefondan okuyabilirsiniz - Bu durumda bir isimlendirme çarpışması riskiyle karşılaşmanızı tavsiye etmem. Bir iex oturumunda alias çağrılması daha açıktır.

+1

Bu harika çalışacak gibi görünüyor, teşekkürler! Iex.exs dosyasındaki phoenix modellerini proje başına esasına göre taklit etmenin bana çok fazla çarpışma riski olmadan tam olarak ihtiyacım olan şeyi alacağını düşünüyorum. –