一人もくもく会 α verでサービス開始しました。

Elixir

PhoenixでLet's EncryptによるSSL

前提 PhoenixでLet's Encryptにより無料でSSL対応を行う。 Elixir 1.5.2 Phoenix 1.3.0 手順 基本的には Phoenix/Elixir App Secured with Let’s Encrypt – Andrew Forward – Medium で書かれている通り。 とりあえずサーバー起動。 MIX_ENV=prod mix phx.se…

Phoenixで他のフォルダの共通テンプレートをrenderする

自動生成されたedit.html.eexのformテンプレート読み込み部分を見ると、下記のようになっている。 <%= render "form.html", changeset: @changeset, action: post_path(@conn, :update, @post) %> ファイル名しか指定されていないので他の共通フォルダなどに…

Phoenixでmany_to_manyのフォームを対応

Phoenixでmany_to_manyを設定してDBからデータを取得して表示するのは非常に簡単。 ではformで新規登録したり更新したりする際に一緒にmany_to_manyのデータを更新するのはどのようにするのか一通り試してみた。 form 例として、Postに複数のTagが紐付いてい…

Phoenixでadminルーティングの認証

Phoenixでadminルーティングしてそこだけ認証を入れる。 仕様 /admin/articles のように最初にadminを含むURLは管理画面 管理画面は管理者ユーザーで認証が必要 管理画面もgen.htmlで自動生成。自分で頑張って作ったりしない コントローラやアクション毎に全…

Phoenixのex_adminでueberauthの認証

Phoenixでex_adminをueberauthを使って行う。 基本的には Elixir/Phoenixにおけるueberauth(認証)とex_admin(管理画面)の連携方法 - Qiita の解説通りでいいのだが、一部情報が古いので現在の対応方法を記載。 current_user_nameはログインしていないとエラ…

Phoenixのex_adminを使ってみてうまく動かない時

Phoenixでためしにex_adminを使って管理画面を作ってみようと思ったのだがどうもうまく動かない。 その時に試した時の対策。 Phoenix 1.2.4 ex_admin 0.8.2 コンパイルエラー ex_adminはまだバージョン1にも行っていないし、Phoenix側に追従しきれていない場…