mmag

ハマったことメモなど

2015-07-01から1ヶ月間の記事一覧

Ectoで複数のRepoを使う

なにがしたい 例えば、レガシーなシステムを徐々にモダンにしていきたいので、古いDBと新しいDBを 共存させたいとします。要は、異なる接続先の2つ3つのDBを使いたい。 どうする Repoを2つ作ります。 以下、Phoenixのディレクトリ構成に合わせて説明します。…

Ectoで生成されるidカラムの名前を変える

Phoenix v0.14.0, mariaex v0.3.2. 発端としては、デフォルトでつくられるidの名前をevent_idにしたかった。というか、事情によりしなければならなかった。table/2にprimary_key: falseを与えるとidが作られないというのはすぐにわかったのだけれど、auto_in…

Phoenixでconfirm付きのdelete

phoenix_htmlのlinkヘルパは、リクエストメソッドがgetの場合は普通にaタグでリンクを作り、そうでない場合はaタグをformでラップして、onclick属性が働くような組み立て方をしてくれます。 で、何かリソースをdeleteするようなリンクでは、「ホントにOK?」…

PhoenixでDBにseed

これが正解みたいな方法は無いのでは。多分。 # priv/repo/seeds.ex alias MyApp.User alias MyApp.Repo Faker.start Enum.each 1..99, fn i -> params = %{name: Faker.Name.name, email: Faker.Internet.email} User.changeset(%User{}, params) |> Repo.i…

Rails Engineでマウントする側のモデルとされる側のモデルのassociation

目論見 MyAppという普通のRailsアプリにMyBlogというエンジンをマウントする。 MyAppにUserモデルがあることをMyBlogが知っていると仮定(設定できるようにしたほうが良いけどとりあえず)。 MyBlogにはArticleモデルがあり、Userには複数のArticleを持たせた…