web-dev-qa-db-ja.com

match句の外では^ xxxを使用できません

この機能:

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

なぜそれを修正するのですか?

31
Ramano

これは通常、Ecto.Queryから適切なマクロをインポートしていないことを示しています。

67
michalmuskala

これを試して:

query
|> limit(page_size)
|> offset(offset)
|> Repo.all
0
NoDisplayName

このエラーの別の考えられる原因は、スペルミスの単語です。私の場合はformではなくfromでした。

0
pdamoc

^(ピン演算子- https://hexdocs.pm/elixir/Kernel.SpecialForms.html )を使用する必要があります

 query 
 |> limit(^ page_size)
 |> offset(^ v_offset)#オフセット変数がEctoのオフセット関数をオーバーライドするかどうかわかりません
 | > Repo.all 
0
Gilvan Souza