2016-07-13 3 views
0

Учитывая (с нуля)Создание модели ссылки само имя столбца ошибки

mix phoenix.new sandpit 
mix ecto.create 
mix phoenix.gen.json Part parts name part_of:references:parts 
mix ecto.migrate 

и редактирования маршрута так

scope "/api", Sandpit do 
    pipe_through :api 
    resources "/parts", PartController, except: [:new, :edit] 
    end 

затем запустить сервер и собирается

http://localhost:4000/api/parts 

I получить ошибки

info] Running Sandpit.Endpoint with Cowboy using http on port 4000 
13 Jul 23:11:37 - info: compiled 5 files into 2 files, copied 3 in 744ms 
[info] GET /api/parts 
[debug] Processing by Sandpit.PartController.index/2 
    Parameters: %{} 
    Pipelines: [:api] 
[debug] SELECT p0."id", p0."name", p0."part_of_id", p0."inserted_at", p0."updated_at" FROM "parts" AS p0 [] ERROR query=78.0ms 
[info] Sent 500 in 140ms 
[error] #PID<0.318.0> running Sandpit.Endpoint terminated 
Server: localhost:4000 (http) 
Request: GET /api/parts 
** (exit) an exception was raised: 
    ** (Postgrex.Error) ERROR (undefined_column): column p0.part_of_id does not exist 
     (ecto) lib/ecto/adapters/sql.ex:185: Ecto.Adapters.SQL.query!/5 

это ошибка с генератором? он, похоже, хочет называть вещи с помощью _id, либо это похоже на скрытое «правило», либо не удалось добавить в _id. Если он не добавит auto _id, я бы подумал, что это будет ошибкой делать поколение или использовать имена, как указано без сбоев?

Попытка с

mix phoenix.gen.json Thing things name thing_of_id:references:things 

и не мигрирующие вызывает никаких ошибок

или что-то еще?

+0

выглядит как ошибка для меня. Я думаю, вам следует сообщить об этом или отправить в свой список рассылки Google Groups (но сначала проверьте, исправлено ли это в ветке 'master'). – Dogbert

ответ

Смежные вопросы