前提・実現したいこと
choicekadaiテーブルのidを引き渡す
choiceテーブルとchoicekadaiテーブルがあり、choiceテーブルの値はきちんと送れているのですが、
choicekadaiテーブルの値が送れません。
何故でしょうか。そもそもchoiceテーブルはどこかで指定しているわけではないのですがidが自動で送られています。
なのに、choicekadaiテーブルのidが送られないのは何故でしょうか。
初心者です。よろしくお願いします。
発生している問題・エラーメッセージ
エラーメッセージ
Couldn't find Choicekadai with 'id'={:id=>nil}
該当のソースコード
ソースコード
<choiceomote.html.erb>
<div class="field"> <% @choicekadai.each do |choicekadai| %> <% @atr = choicekadai.shutudai %> <%= @kadai_id = choicekadai.id %> <%= @str = @atr.delete("[").delete("]").delete('""').split(',') %> <%= @ar = @str[0].to_i %> <%= link_to(choicekadai.kadai,"/choices/#{choicekadai.id}/choice/#{@ar}",{kadai_id: @kadai_id}) %> <% end %> </div><choices_controller.html.erb>
def show
@choicekadai = Choicekadai.find(id: params[:kadai_id])
@choice = Choice.find_by(id: params[:id])
@random = []
@random = [["choice_one",@choice.one],["choice_two",@choice.two],["choice_three",@choice.three],["choice_four",@choice.four]]
@random.shuffle!
end
<追記>
基本情報の過去問道場のようなサイトを作成したいと考えています。
choiceテーブル(問題テーブル)
id|title|created_at|updated_at|setumon|one|two|three|four|kaisetu|hint|chapter|
title:タイトル
setumon:問い
one,two,three,four:選択肢4つ
kaisetu:解説
hint:ヒント
chapter:問題の内容によってchapterわけしてます
choicekadaiテーブル(課題テーブル)
id|kadai|created_at|updated_at|shutudai|kigen|
kadai:課題のタイトル("課題(forループ)"など)
shutudai: 例:["37", " 42", " 50", " 47", " 40", " 36", " 51", " 39", " 48", " 43"]
kigen:期限
shutudaiには、choicekadaiのidを配列にして、10個いれています。
想像としましては、"課題(forループ)"をクリックしたら、配列の一つ目の問題が表示され、そのあと残りの9問を解いて終了。
shutudaiの配列をループで一つずつ取り出し、取り出した値をchoiceのidで一致するものを問題として出題し、解いたら、次の問題、という感じをイメージしています。
そのために、choicekadaiのidを引っ張ってこないといけないんですが、うまく行きません。
<routes.rb>
Rails.application.routes.draw do
get "choices/:id/choice" => "choices#choice"
get "choices/choiceomote" => "choices#choiceomote"
get "choices/index" => "choices#index"
get "choices/new" => "choices#new"
get "choices/:id/choice/:id" => "choices#show"
get "choices/show" => "choices#show"
post "choices/create" => "choices#create"
post "choices/check_box" => "choices#check_box"
get "choices/:id/edit" => "choices#edit"
post "choices/:id/update" => "choices#update"
post "choices/:id/choice/:id/show" => "choices#show"
post "choices/:id/choice/:id/response_params" => "choices#response_params"
post "choices/:id/destroy" => "choices#destroy"
post "choices/:id/date" => "choices#date"
post "choices/:id/choice/:id/next" => "choices#next"
end
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/09/09 10:35
2020/09/09 11:12
2020/09/09 17:17
2020/09/10 10:08
2020/09/10 12:55