Я новичок в Elixir и в настоящее время совершаю транзакцию из Ruby.Я изо всех сил пытаюсь обойти ошибку, которую я получаю, и из-за того, что Elixir не имеет object.class
, я изо всех сил пытаюсь понять, какой тип данных я возвращаю назад и как устранить его.
В любом случае я пытаюсь заполнить базу данных из CSV, но получаю сообщение об ошибке
Ниже приведен мой код
File.stream!('users_departs.csv')
|> Stream.drop(1)
|> CSV.decode(headers: [:name, :title, :departments])
|> Enum.take(10
|> Enum.each( fn(x) -> IO.inspect(x[:ok]) end )
Error
** (FunctionClauseError) no function clause matching in Access.get/3
The following arguments were given to Access.get/3:
# 1
{:ok,
%{
departments: "Sales|Marketing",
name: "John Smith",
title: "Customer Service"
}}
# 2
:ok
# 3
nil
(elixir) lib/access.ex:306: Access.get/3
(stdlib) erl_eval.erl:670: :erl_eval.do_apply/6
(stdlib) erl_eval.erl:878: :erl_eval.expr_list/6
У меня есть 2 модели, Пользователь и Отделы, иЯ хотел бы сначала заполнить отделы, затем создать пользователя, а затем связать сопоставление отделов пользователей, но я пытаюсь пройти этот шаг.
Любая помощь будет оценена