4児パパ プログラミングを学ぶ

プログラミングは未経験で30歳過ぎても学べる!

ActiveRecord::RecordNotFound in "コントローラー名"Controller#update Couldn't find "モデル名" with 'id'=confirmの対処の仕方 解決方法!

f:id:hitoiws:20170505165607j:plain

(マニラにあるRobinsons Otis内にて)

フィリピンに行くと子供たちの遊び場に困ることがあると思います!

 

私のような片親がフィリピンのハーフの人達は、大抵 フィリピンに家族や親戚がいます。ですから、おじやおばそして従兄弟従姉妹どうしで遊んだりすると思います。外で遊ばせると大抵日に焼け色が黒くなるでしょう。

 

フィリピンも開発が進み、住みやすくなってきました。あいも変わらず治安も悪い時もございます。ですので、外に出かける時は欠かさず、お子様に常に視線を向けましょう。モール内で遊ばせられる場所も増えてきました。上記の写真の様な遊びも、子供は楽しんでくれますよ。

 

 

さて、ゴールデンウィークをもう終わりそうですね!!いい思い出作りはできましたでしょうか?私の家庭ではもうすでに夏休みに向けてのプランが始動してしまいました。

 

私は極力家に居たいのですが、子供たちがやかましい為に大事な時に集中できません。とても心惜しいのですが、家を出てスタバで作業する時もございます。 

 

人は一度集中モードに入りそこから何らかの理由で離脱してしまうと、その集中して気持ちが整っている状態までに再度持っていくのに15分から20分経ってしまいます。私が家に居ても、5分置きぐらいにチビ2二人が私の部屋のドアをバタバタ、ドカンドカンと開けてきま。困ったものです。笑

 

ですのでたまに家から出て、集中するための場所を求めます。

無論妻はいい顔しないですがね。苦笑

 

  

■目次

1.ActiveRecord::RecordNotFound in "name"Controller#update Couldn't find Topic with 'id'=confirmの対処の仕方

2.ヘルパーメソッドを定義しよう!

3.定義したhelperメソッドを早速viewファイルでしようしてみよう!

4.エラー解決の仕方は、時には人に聞いて見るのも手だよ!

5.プログラミングを始めたら、ブログも始めてエラー解決をシェアーしよう!

6.過去の記事も良かったら、ご参考にして頂けたら幸いです!!!

 

 

1.ActiveRecord::RecordNotFound in "name"Controller#update Couldn't find Topic with 'id'=confirmの対処の仕方

f:id:hitoiws:20170505161637p:plain

私はnewアクションの後に確認画面を出すように開発中に、ActiveRecord::RecordNotFound in TopicsController#update Couldn't find Topic with 'id'=confirm といったエラーに出会ってしまいました。基本的な部分ですが、上記のようなエラー画面において、知っておかないと解決できないもの。実はhelperメソッドを上手に使えば解決は簡単です!!confirmアクションを開発したりすると、updateアクションへ送信するためには、PATCH /topics/:id(.:format) topicss#update(私の開発しているコントローラー上ですが場合ですが)と送る必要があります。

 

 

updateアクションの時にtopics_pathオプションが生成されないと私のようなエラーにで出会ってしまいます。

 

 

またnewアクションを定義する時は、url: confirm_blogs_pathオプションを生成する必要があります。 

 

目次にもどる

 

2.ヘルパーメソッドを定義しよう!

 ヘルパーメソッドを定義することで簡単に解決することができます。ヘルパーメソッドで定義したメソッドはどのファイルからも呼び起こすことができます。ですのでとても便利なのです。

『私の場合』

topics.helper.rbにchoose_new_or_editを定義して、action_nameメソッドを使用します。

module TopicsHelper
 def choose_new_or_edit
  if action_name == 'new' || action_name == 'confirm'
  confirm_topics_path
 elsif action_name == 'edit'
  topic_path
  end
 end
end

 

これでtopics.helper.rbは書き終わり、次は定義したヘルパーメソッドをviewファイルにて使用することができるようになります。

 

目次にもどる

 

3.定義したhelperメソッドを早速viewファイルでしようしてみよう!

 私の場合のファイル名になってしまいますが、早速編集しましょう。

app/views/topics/_form.html.erb

<%= form_for(@topic, url: choose_new_or_edit) do |f| %>

太文字のところに注目です。

メソッド名を"choose_new_or_edit "にしているため、適切な場所にて記載する必要があります。

 

 

上記のヘルパーメソッドを定義する時にお伝えはしなかったのですが、

action_name == 'new' || action_name == 'confirm' とすることで、アクションが、newまたは、confirmの時にのみtrueを返して正常を保ってくれます。 

  

目次にもどる

 

4.エラー解決の仕方は、時には人に聞いて見るのも手だよ!

f:id:hitoiws:20170505170656j:plain

 今回はほとんどがActiveRecord::RecordNotFound in "name"Controller#update Couldn't find Topic with 'id'=confirmの対処の仕方をお伝えしましたが、エラー解決って本当に躓くと先に進めなく途方に暮れてしまう時がありますよね。

 

 

時には人に聞いて見るのも、手ですよ!私の場合、1週間悩んだエラーが先輩エンジニアに相談したところ5分で解決したこともあります。

 

 

でもね、エラーを解決するための『解決力』は大切なんですよ。私は基礎がまだまだ全然でその解決力すら、身につける必要があるのです!

 

 

エラー画面を見るとがっかりしますよね。ただ、エラーは敵だけとエラーメッセージ時は常に友達と思える様になると、多少は解決力につながります。そのメッセージを読み解けば本当に解決できることもありますので。

 

 

目次にもどる

 

5.プログラミングを始めたら、ブログも始めてエラー解決をシェアーしよう!

これは 何度もお伝えはしているのですが、プログラマーって全ての方々ではないのですが、ある程度情報を公開しています。もちろん私のように、自分自身の備忘録として残している人も多いのですが、web場で少しでも残す事で自分が陥ってしまったエラーやバグについての記録を残す事で、同じ状況に陥った人たちに貢献する事ができます。

 

 

情報を共有するアクションはブログ更新の一つとなり、ブログネタで困った時は有効かもしれませんね。今後もできる限り、情報を共有できれば幸いと思っております!

 

目次にもどる

 

6.過去の記事も良かったら、ご参考にして頂けたら幸いです!!!

 今までの記事ですが、やっと70記事超えることができました。まだまだですね。読んで頂ける皆様に有力になれる様に、今後も努めます!

 

過去の記事たちが少しでもご参考になれば嬉しいです。

 

フィリピンでsimフリーを利用して、日本から持ってきた携帯を使おう!空港でsimフリーはタダで配られている!!!

www.papa-programing.jp

 

ブログアクセスアップ10%目指そう!はてなブログのカスタムURLは簡単! 

www.papa-programing.jp

 

 Webエンジニア1人とライター1人いれば、ビジネスが成り立つ!!

www.papa-programing.jp

 

マインドフルネス(瞑想)をしよう。3分で脳疲労を解消!脳疲労をとることで仕事に活気と生活に安定を♪

www.papa-programing.jp

 

 

プログラミングを始めたら、はてなブログを有効に使おう!プログラマーになり始めたらブログでアウトプットできる!

www.papa-programing.jp

 

 

 ”フィリピン”で”iPhone”を”充電する”!!日本と電圧は違うが怖くない!

www.papa-programing.jp

 

 

 

 

目次にもどる