enumの値によって遷移先を変えたい
はじめに
現在プログラミング学習を始めて3ヶ月目の初学者です。
学んだことをqiitaに投稿という形でアウトプットするため、また備忘録として記事を作成しました。
考えた方法
if文で条件分岐
if文
パッと思いつくほどif文を使いこなせていないので、とにかく調べる
https://kurose.me/rails-enum-login/
こちらの記事を参考にして
作ったif文がこちら
def create
@task = Task.new(task_params)
respond_to do |format|
if @task.save
format.html {
if @task.category(0) == "時間が決まったタスク"
redirect_to time_path
elsif @task.category(1) == "よく使うタスク"
redirect_to every_path
elsif @task.category(2) == "たまたま行ったタスク"
redirect_to by_chance_path
elsif @task.category(3) == "ToDo"
redirect_to todo_path
else
render :root
end
}
format.json { render :time, status: :created, location: @task }
else
format.html { render :new, status: :unprocessable_entity }
format.json { render json: @task.errors, status: :unprocessable_entity }
end
end
end
※controllerはscaffoldコマンドで作成
わかっていたがエラー
ArgumentError in TasksController#create
wrong number of arguments (given 1, expected 0)
引数の値が0を期待しているが、1つ送られてきてる
記事をよく確認したら引数入れてなかった!
なのでcategoryの引数を消したら無事遷移できました!
最後に
qiitaへの投稿に慣れていないので、分かりづらい上に情報が少ないですが、これから欠かさず投稿していこうと思います。
Author And Source
この問題について(enumの値によって遷移先を変えたい), 我々は、より多くの情報をここで見つけました https://qiita.com/isukeaima/items/de9eb13bfa968ce3a00f著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .