🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Ruby

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

Ruby on Rails

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

Q&A

解決済

1回答

710閲覧

Routing Errorが出てしまう。

退会済みユーザー

退会済みユーザー

総合スコア0

Ruby

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

Ruby on Rails

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

0グッド

1クリップ

投稿2019/12/14 09:56

https://qiita.com/kitaokeita/items/59b625e0c43a62f5fe6aこの記事を参考にフォロー機能を作ったのですが「Routing Error」が出てしまいます。
routes.rbに原因があると思うのですがどこに不具合があるのかい教えていただけると幸いです。

##config/routes.rb

Rails.application.routes.draw do devise_for :users, controllers: { registrations: 'registrations' } get '/users/:id', to: 'users#show', as: 'user' # For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html root 'posts#index' resources :posts, only: %i(index new create show destroy) do resources :comments, only: %i(create destroy) resources :likes, only: %i(create destroy) end resources :users do member do get :following, :followers end end resources :relationships, only: [:create, :destroy] end

イメージ説明

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

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

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

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

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

guest

回答1

0

ベストアンサー

app/controllers/relation_ships_controller.rb はありますか?

投稿2019/12/14 09:59

winterboum

総合スコア23567

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

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

退会済みユーザー

退会済みユーザー

2019/12/14 10:08

回答ありがとうございます。 relation_ships_controller.rbはありませんでした。 relation_ships_controller.rbが無いことが原因なのでしょうか? 申し訳ありませんがこれが原因なのでしたらrelation_ships_controller.rbに何を記述したらいいのか教えていただけると幸いです。
winterboum

2019/12/14 10:16

rails g controller RelationShips を実行すると雛形が作られます
退会済みユーザー

退会済みユーザー

2019/12/14 10:35

rails g controller RelationShipsでrelation_ships_controller.rbを作りましたが同じ画面が出てしまいました。
winterboum

2019/12/14 10:49

app/controllers/relation_ships_controller.rb  どんなのができたのか見せて下さい
退会済みユーザー

退会済みユーザー

2019/12/14 10:54

先程のrelation_ships_controller.rbが無い件ですがregistrations_controller.rbはありました。 registrations_controller.rbの中に原因があるのでしょうか registrations_controller.rb class RelationshipsController < ApplicationController def create @user = User.find(params[:relationship][:following_id]) current_user.follow!(@user) redirect_to @user end def destroy @user = Relationship.find(params[:id]).following current_user.unfollow!(@user) redirect_to @user end end
winterboum

2019/12/14 11:21

??? ここでなぜ registrations_controller の話が出てくるの? 知りたいのは relation_ships_controller.rb の中身
winterboum

2019/12/14 11:25

敢えて言えば  Rails では file名とclass名は密接な関係があります。 registrations_controller.rb が定義するのは RegistrationsContrller class RelationShipsController を定義するのは relation_ships_controller.rb
退会済みユーザー

退会済みユーザー

2019/12/14 11:43

すみません。 app/controllers/relation_ships_controller.rbの中には何も書かれていませんでした。
winterboum

2019/12/14 11:47

registrations_controller.rb の中身をrelation_ships_controller.rbにcopyして下さい
退会済みユーザー

退会済みユーザー

2019/12/14 12:00

ありがとうございます!!! 出来ました。 もう一つ聞きたいことがあるのですがフォロー機能をつけた際にhttp://localhost:3000/users/editに移動するとLoadErrorが出てしまうようになってしまいました。 Unable to autoload constant RegistrationsController, expected /Users/〇〇/Site/〇〇/app/controllers/registrations_controller.rb to define it もしよろしければこちらの改善方法も教えていただければ幸いです。
winterboum

2019/12/14 12:09

registrations_controller.rb の中身を壊してしまったのでは?と思われます。 registrations_controller.rb には RegistrationsController が定義されていなければならないのに、RelationshipsController が定義されています
退会済みユーザー

退会済みユーザー

2019/12/14 12:19

ありがとうございます。 解決しました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問