フェニックスフレームワークとエリクシールの新機能です。シード関数を複数回実行しようとしています。それはデータをかなりうまく取り込んだり、期待通りにデータを取り込んでいますが、実行中にエラーが発生します。ここでエクトシードファイルを実行中にエラーが発生しました
は、シードファイルは
alias FatLobster.Repo
alias FatLobster.Recipe
alias FatLobster.Place
alias FatLobster.Review
import Faker
defmodule RecurssionSeed do
def multiply_seeder(x,n)
when x <=n do
recipe_seed
place_seed
review_seed
x = x+1
multiply_seeder(x,n)
end
def recipe_seed do
Repo.insert(%Recipe{
recipe_title: Faker.Lorem.word ,
recipe_description: Faker.Lorem.paragraph ,
cover_img: Faker.Avatar.image_url() ,
picture_one: Faker.Avatar.image_url() ,
picture_two: Faker.Avatar.image_url() ,
picture_three: Faker.Avatar.image_url() ,
user_id: Enum.random(1..1000),
upvote_count: Enum.random(1..1000),
downvote_count: Enum.random(1..1000)
})
end
def place_seed do
Repo.insert(%Place{
places_title: Faker.Lorem.word,
places_description: Faker.Lorem.paragraph,
cover_img: Faker.Avatar.image_url(),
picture_one: Faker.Avatar.image_url(),
picture_two: Faker.Avatar.image_url(),
picture_three: Faker.Avatar.image_url(),
upvote_count: Enum.random(1..300),
downvote_count: Enum.random(1..1000)
})
end
def review_seed do
Repo.insert(%Review{
review_title: Faker.Lorem.word,
review_description: Faker.Lorem.sentence,
cover_img: Faker.Avatar.image_url,
picture_one: Faker.Avatar.image_url,
picture_two: Faker.Avatar.image_url,
picture_three: Faker.Avatar.image_url,
user_id: Enum.random(1..100),
upvote_count: Enum.random(1..1000),
downvote_count: Enum.random(1..250),
})
end
end
RecurssionSeed.multiply_seeder(1,25)
あるしかし、私は、端末内のシードコマンドを実行しながら、それがpostgreデータベースを投入した後にエラーが表示されます。ここ
はエラーメッセージです、
** (FunctionClauseError) no function clause matching in RecurssionSeed.multiply_seeder/2
priv/repo/seeds.exs:22: RecurssionSeed.multiply_seeder(26, 25)
(elixir) lib/code.ex:363: Code.require_file/2
(mix) lib/mix/tasks/run.ex:68: Mix.Tasks.Run.run/1
(mix) lib/mix/cli.ex:58: Mix.CLI.run_task/2
(elixir) lib/code.ex:363: Code.require_file/2
は、誰かが間違ってここに何が起こっているか私に説明していただけますか?
はい...それは... 26のために行くんが...と終了しません。しかし、私はあなたの答えを取得していない..任意のドキュメントの参照??私はまだエラーが発生している..私はそれを間違ってやっている。あなたはどんな参考文献も提供することができますか? –
エリクシルを手に入れようhttp://elixir-lang.org/getting-started/recursion.html – Gazler
@ code.prio私のアップデートを見てください。より明確に。 – Gazler