私はPhoenix Frameworkアプリケーションのポストモデルを持っています。Ecto Repositoryにターミナル経由でレコードを追加する方法は? (iex)
端末からレコードを追加したいと考えています。 Railsでは、レールコンソールで以下のようなことをすることができます:
u = Post.create title: "My Title", content: "Here's my content..."
IEXでこれに相当するものは何ですか?
私はPhoenix Frameworkアプリケーションのポストモデルを持っています。Ecto Repositoryにターミナル経由でレコードを追加する方法は? (iex)
端末からレコードを追加したいと考えています。 Railsでは、レールコンソールで以下のようなことをすることができます:
u = Post.create title: "My Title", content: "Here's my content..."
IEXでこれに相当するものは何ですか?
回答はPhoenix Documentationで見つかりました。
iex -S mix phoenix.server
そしてに対してクエリを実行します。あなたと鳳凰のIEXを開始するために必要なすべての
MyApp.Repo.insert post
まず:続い
post = %MyApp.Post{title: "My Title", content: "Here's my content..."}
:IEXで、私はこれを行うことができますエクト:
post = %MyApp.Post{title: "My Title", content: "Here's my content..."}
すべての最初は、あなたが
iex -S mix
であなたのエリクシルのターミナルを起動する必要がありますが-S mix
かどうか、それはしないだろうことを持たせます。あなたのセットアップ後に
IEX実行後、あなただけ(アクセスしやすいように)あなたのモジュールをエイリアスする必要が
alias MyApp.Repo
alias MyApp.Post
エイリアス、あなたが望む何かをする準備が整いました。ただですべてのポストを取得してそれをテスト:
Repo.all(Post)
をエラーがない場合(UndefinedFunctionError) は、あなただけで、あなたのデータを挿入することができます
Repo.insert(%Post{title: "My Title", content: "Here's my content..."})
は、それはあなたを助けることを願っています。 :D
これはレコードを作成しますが、実際にはリポジトリに追加しません。 'MyApp.Repo.insert post'はそれを行います。 –