Ответ 1
Обычно это знак того, что вы не импортировали соответствующие макросы из Ecto.Query
.
Эта функция:
defp entries(query, page_number, page_size) do
offset = page_size * (page_number - 1)
query
|> limit([_], ^page_size) # error
|> offset([_], ^offset)
|> Repo.all
end
дает исключение:
cannot use ^pg_size outside of match clauses
Почему это и как это исправить?
Обычно это знак того, что вы не импортировали соответствующие макросы из Ecto.Query
.
Попробуй это:
query
|> limit(page_size)
|> offset(offset)
|> Repo.all
Вы должны использовать ^ (контактный оператор - https://hexdocs.pm/elixir/Kernel.SpecialForms.html)
query |> limit(^page_size) |> offset(^v_offset) # I don't know if offset var override offset function of Ecto |> Repo.all
Другая возможная причина этой ошибки - слова с ошибками. В моем случае это был form
вместо from
.