前提・実現したいこと
Ruby on Rails 6でオリジナルアプリを作成中
work_doというテーブルのカラムから取り出しビューに保存したデータを
work_endというテーブルへボタンなどで保存できる様にしたい。
発生している問題・エラーメッセージ
param is missing or the value is empty: work_end
該当のソースコード
該当のShow.html.erb
Ruby
1<div class="show"> 2<h2><%= @theme.title %></h2> 3<h3>やりたい事/みたい聞きたい事/覚えたい事</h3> 4<div class="work to-do"> 5 <%= form_with(model: [@theme, @work_do], local: true) do |form| %> 6 <%= form.text_field :to_do %> 7 <%= form.submit "追加" %> 8 <% end %> 9 10------------該当部分-------------- 11<div class="end"> 12 <% @work_dos.each do |work_do| %> 13 <%= work_do.content %> 14 <%= link_to '完了', "/themes/#{@theme.id}/work_ends/" ,method: :post %> 15 <%= link_to '削除', "/themes/#{@theme.id}/work_dos/#{work_do.id}", method: :delete %> 16 <% end %> 17</div> 18<div> 19--------------------------------- 20 21<h3>できた/覚えた/終えた事</h3> 22<div class="work"> 23 <%= form_with(model: [@theme, @work_end], local: true) do |form| %> 24 <%= form.text_field :content %> 25 <%= form.submit "追加" %> 26 <% end %> 27</div> 28<div class="end"> 29 <% @work_ends.each do |work_end| %> 30 <%= work_end.content %><%= link_to '削除', "/themes/#{@theme.id}/work_ends/#{work_end.id}", method: :delete %> 31 <% end %> 32</div>
work_endsのコントローラー
Ruby
1class WorkEndsController < ApplicationController 2 def create 3 work_end = WorkEnd.create(work_end_params) 4 redirect_to "/themes/#{work_end.theme_id}" 5 end 6 7 def destroy 8 work_end = WorkEnd.find(params[:id]) 9 work_end.destroy 10 redirect_to "/themes/#{work_end.theme_id}" 11 end 12 13 private 14 def work_end_params 15 params.require(:work_end).permit(:content).merge(theme_id: params[:theme_id]) 16 end 17end
work_dosのコントローラー
Ruby
1class WorkDosController < ApplicationController 2 def create 3 work_do = WorkDo.create(work_do_params) 4 redirect_to "/themes/#{work_do.theme_id}" 5 end 6 7 def destroy 8 work_do = WorkDo.find(params[:id]) 9 work_do.destroy 10 redirect_to "/themes/#{work_do.theme_id}" 11 end 12 13 private 14 def work_do_params 15 params.require(:work_do).permit(:content).merge(theme_id: params[:theme_id]) 16 end 17end
試したこと
ここに問題に対して試したことを記載してください。
色々試した結果link_toにたどり着たのですがこの方法で良いのか?
他に方法があれば教えてください。
ここにより詳細な情報を記載してください。
エラー内容に対してはテーブル同士のカラム名をcontentに統一したのですが解決せず。
work_doとしてビューに表示されたデータをwork_endに対するparamsに内のデータが正しくないのではないかと持っています。
あなたの回答
tips
プレビュー