智子のプログラミング奮闘記

アラフォーにてRubyを勉強中でございます。

Ruby on Rails/ActiveRecord::RecordNotFound in "name"Controller#update Couldn't find Topic with 'id'=confirm エラーが出ちゃった

Ruby on Rails にて、画像投稿アプリを作成中

典型的なエラーに悪戦苦闘いたしました。

 

 

画像投稿アプリ

f:id:tomoko-air-tokyo:20190625211034j:plain

こんな簡単な画像投稿サイトを作るのに何日もかかっております。

インスタグラムとかツイッターとかすごいです。尊敬

 

f:id:tomoko-air-tokyo:20190625211126j:plain

画像投稿できるかどうか確認用に、ポセイドンジャパンのみなさんの使わせていただいております。

エラーが出ても、肉体美で頑張れます(合掌)

 

SQといえば、シンガポール航空ですが

ここでは、水球(SuiQ)

 

editでエラー

new, destroyと順調にできたのですが

editでエラー

 

f:id:tomoko-air-tokyo:20190625211846j:plain

 

controllerもviewも設定したつもりだけど、どちて??

また、メンターさんに助け舟頂戴しました。

 

 

解決策

newアクションだけ確認画面を経由させなければいけないんでした。

helperメソッドのことをすっかり忘れてました(⁎⁍̴̆Ɛ⁍̴̆⁎)

 

app/view/photos/_form.html.erb 1行目書き換え↓

<%= form_with(model: @photo, local: true ,url: choose_new_or_edit) do |form| %>

 

app/helper/photos_helper.rb↓

module PhotosHelper
    def choose_new_or_edit
        if action_name == 'new' || action_name == 'confirm'
            confirm_photos_path
        elsif action_name == 'edit'
           photo_path
       end
   end
end 

 

新規投稿(new)だけ、確認画面(confirm)を通すようにしたら

エラー解消、無事、編集もできるようになりました!

 

 

あとがき

プログラミング奮闘記をご覧いただき、誠にありがちょございますっ

 

東京オリンピック観戦チケット、大本命水球を申し込んだのですが、、、

落選(;_;)

www.tomoko-travel.fun

 

野球が当たりました。。。

でも、周りの人でチケット自体当たっている人がいなくて、貴重なチケットなんですね。

せっかくなので楽しんでこようと思います。

 

あぁ、生で見たかった肉体美。。。

まだ言ってます、精進してまいりますっ