2016-01-30 9 views
10

Angular Viewsで使用するには、Phoenix Frameworkの静的ページを提供したいと思います。私は通常のHTMLを提供することができますが、私はデフォルトのLayoutViewを取り除きたいと思います。私はLayoutViewから "継承"しないPhoenix Viewsをいくつか用意しています。出来ますか?phoenixフレームワークで静的ページを提供するには?

答えて

28

あなたはpriv/static内のファイルを持つとPlug.Staticオプションでパスを照合することによって、静的なファイルを提供することができます

plug Plug.Static, 
    at: "/", from: :hello_phoenix, gzip: false, 
    only: ~w(css fonts images js favicon.ico robots.txt my_fine.html) 

あなたはまたput_layout/2を使用してレイアウトをバイパスすることができます

conn 
|> put_layout(false) 
|> render("index.html") 

put_layout/2機能(関数の引数のために)プラグとして呼び出すこともできます。これはコントローラ全体に適用したい場合に便利です。

+1

ありがとう、ありがたいです。 btw、将来の読者のために、プラグ静的設定は/ lib/ /endpoint.ex – Tahbaza

+1

にあります。エンドポイント/ apidocsからindex.htmlを提供したいと思います。静的ファイルを/ priv/static/swaggerに入れたいと思います。私は上記の答えからそれを行う方法を推測するのに問題があります。 – raarts

+0

@raartsええ、答えの最初の部分は、あなたが "/swagger/index.html"をリクエストしてドキュメントを手に入れることができるようにすることですが、ファイルへの完全なパスが必要になります。私はちょっと同じことを自分で見つけようとしています。 – Ilkka

関連する問題