質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.45%
Ruby on Rails 6

Ruby on Rails 6は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

Q&A

0回答

589閲覧

Rails6 DBからViewに表示させたデータを異なるテーブルに保存させたい

退会済みユーザー

退会済みユーザー

総合スコア0

Ruby on Rails 6

Ruby on Rails 6は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

0グッド

0クリップ

投稿2021/11/06 01:47

編集2021/11/07 11:38

前提・実現したいこと

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に内のデータが正しくないのではないかと持っています。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

winterboum

2021/11/06 04:24

別のデータベース とありますが 「同じDBの異なるtable」の意味ですか? ではなく本当に2つのdatabase間のcopyですと情報不足なので。 とりあえず database.yml と copyもとcopy先のmodelのcodeを載せていただくのでも良いです。
退会済みユーザー

退会済みユーザー

2021/11/07 11:34

失礼したしました。同じDBの異なるテーブルへの保存が正しい意味です。 内容修正します。
winterboum

2021/11/07 12:47

どのcontrroller のどのview のどの部分の操作でcopyですか? copyするControllerはどれで actionはなに?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.45%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問