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

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

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

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

Q&A

解決済

1回答

1508閲覧

ログインの失敗

退会済みユーザー

退会済みユーザー

総合スコア0

Ruby on Rails

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

0グッド

0クリップ

投稿2016/03/06 06:16

railsでログイン画面を作りました。
しかし、ログインするとホーム画面に戻ってしまい(localhost:3000)ログインできません。
これはルートの設定が間違っているということなのでしょうか?
他にも間違いの可能性がありますか?

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

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

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

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

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

guest

回答1

0

ベストアンサー

SessionsControllerの中身などのログイン処理をしているメソッド
のソースがあれば分かるかもしれません。

class HomeController < ApplicationController def top if user_signed_in? # 変数@noteにNoteクラスのインスタンスを代入してください @note = Note.new # 変数@notesにNoteクラスのインスタンスの配列を降順で代入してください @notes = Note.all.order(created_at: :desc) else @message = "ようこそKotoritterへ!" end end def about end end の部分と、 def correct_user note = Note.find(params[:id]) # noteを投稿したユーザーを取得し、current_user?メソッドの引数に渡してください if !current_user?(note.user) redirect_to root_path, alert: '許可されていないページです' end end の部分がログインに関する記述です。 よろしくお願いします。

ちなみにroutes.rbは下記のような感じです?
「ログインできない」というのは「top」のページに移動してしまうという意味ですか?
「ホーム画面」というのはどのページが表示されていますか?

routes.rb

1 devise_for :users 2 resources :users, only: [:index, :show, :edit, :update] do 3 member do 4 get :like_notes 5 end 6 end 7 resources :notes, only: [:show, :create, :edit, :update, :destroy] do 8 member do 9 get :liking_users 10 end 11 end 12 13 post '/like/:note_id' => 'likes#like', as: 'like' 14 delete '/unlike/:note_id' => 'likes#unlike', as: 'unlike' 15 16 root 'home#top' 17 get '/about' => 'home#about'

2016.03.06追記
routes.rbに

root 'home#top'

を追記するとtopページに移動できるのでOKなのではないでしょうか。

投稿2016/03/06 06:26

編集2016/03/06 13:16
退会済みユーザー

退会済みユーザー

総合スコア0

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

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

退会済みユーザー

退会済みユーザー

2016/03/06 06:36

class HomeController < ApplicationController def top if user_signed_in? # 変数@noteにNoteクラスのインスタンスを代入してください @note = Note.new # 変数@notesにNoteクラスのインスタンスの配列を降順で代入してください @notes = Note.all.order(created_at: :desc) else @message = "ようこそKotoritterへ!" end end def about end end の部分と、 def correct_user note = Note.find(params[:id]) # noteを投稿したユーザーを取得し、current_user?メソッドの引数に渡してください if !current_user?(note.user) redirect_to root_path, alert: '許可されていないページです' end end の部分がログインに関する記述です。 よろしくお願いします。
退会済みユーザー

退会済みユーザー

2016/03/06 13:11

routes.rbは Rails.application.routes.draw do devise_for :users resources :users, only: [:index, :show, :edit, :update] resources :notes, only: [:show, :create, :edit, :update, :destroy] get'/top' => 'home#top' get'/about' => 'home#about' get'/connection' => 'home#connection' get'/notes/new' => 'notes#new' post'/notes' =>'notes#create' get'/notes' =>'notes#index' get'/show' =>"notes#show" get'/edit' =>'notes#edit' patch'/notes/:id' =>"notes#update",as:'update_note' delete'/notes/:id' =>"notes#destroy",as:'destroy_note' のようになっています。 ホーム画面はlocalhost:3000のあの赤い画面(Welcome aboardと表示されている) に戻るということです。 end
退会済みユーザー

退会済みユーザー

2016/03/07 12:04

なんどもやり取りしてくださり、ありがとうございました!できました!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問