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

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

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

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

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

Q&A

2回答

1162閲覧

Railsでtodo管理アプリ作成中エラーが出ていて解決方法がわからない

Kinako0626

総合スコア14

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

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

0グッド

1クリップ

投稿2019/08/30 07:26

編集2019/08/30 10:41

前提・実現したいこと

実現したいこと
リスト編集画面に遷移するリンクを追加したい

現在RailsでToDo管理アプリを勉強しながら作成しているがエラーが出てググっても解決方法が見つからないため原因を探るのと解決したい

発生している問題・エラーメッセージ

エラーメッセージ 一番最初に出たエラー NoMethodError in Top#index Showing /home/ec2-user/environment/toretodo/app/views/top/index.html.erb where line #8 raised: undefined method `edit_list_path' for #<#<Class:0x0000000003f6ef70>:0x0000000004ad5648> Did you mean? edit_registration_path と出たため、 <%= link_to(content_tag(:i, '', class: 'fas fa-pen'), edit_registration_path(list)) %> に変更してみたがエラーが出てしまった RuntimeError in Top#index Showing /home/ec2-user/environment/toretodo/app/views/top/index.html.erb where line #8 raised: Could not find a valid mapping for #<List id: 1, title: "寝る", user_id: 1, created_at: "2019-08-29 18:42:30", updated_at: "2019-08-29 18:42:30">

該当のソースコード

ruby

1ソースコード 2<div class="topPage"> 3 <div class="listWrapper"> 4 <% @lists.each do |list| %> 5 <div class="list"> 6 <div class="list_header"> 7 <h2 class="list_header_title"><%= list.title %></h2> 8 <div class="list_header_action"> 9 <%= link_to(content_tag(:i, '', class: 'fas fa-pen'), edit_list_path(list)) %> 10 </div> 11 </div> 12 </div> 13 <% end %> 14 </div> 15</div>

ruby

1routes.rb 2Rails.application.routes.draw do 3 devise_for :users 4 # For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html 5 root 'top#index' 6 7 resources :list, only: %i(new create edit update) 8end 9 10

試したこと

<%= link_to(content_tag(:i, '', class: 'fas fa-pen'), edit_list_path(list)) %>
のedit_list_pathがダメなのかと思い、
edit_registration_pathに変更して実行した

ググってエラー名でググって調べてみた

補足情報(FW/ツールのバージョンなど)

Rails 5.2.3
ruby 2.6.3p62
cloud9
イメージ説明
イメージ説明
イメージ説明
ここにより詳細な情報を記載してください。

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

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

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

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

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

Kinako0626

2019/08/30 10:36

情報不足で分かりづらくてすみません すぐに修正いたします!
guest

回答2

0

面妖な、、、
routes.rb では lists の edit があるのに、貼り付けた画像には listsはnewとcreateとupdateしかない。
routes.rbの修正してません?
もう一度 rails routes してみて、結果が同じか確認して下さい

それでも駄目だったら、
resources :list, only: %i(new create edit update)

resources :list
で試して下さい

投稿2019/08/30 10:58

winterboum

総合スコア23347

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

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

0

どのコントローラーのどのアクションに遷移したいのかがわかりませんが、
routes.rbに「edit_list_path」や「edit_registration_path」にあたる
ルーティングが設定されていないため、エラーになっています。

ルーティングについては下記リンクが参考になるかと思います。
https://www.sejuku.net/blog/13078

投稿2019/08/30 08:45

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

Waplus

2019/08/30 10:36

回答いただきありがとうございます! ルーティングの設定ミスでしょうか?
退会済みユーザー

退会済みユーザー

2019/08/31 04:11

返信が遅くなりました。 routes.rbの設定を見る限り、ルーティングの設定ミスが原因かと思われます。 ほかの方が提示されているように設定すれば、リンクにアクセスできるようになると思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問