今、ログイン画面を作っていましてloginに遷移するとこのように出ます
Userモデルに「’id’ =5」は入ってないよって意味が調べてわかったのですが
どうすればいいか分かりません
↓rails c でUser.column_namesでUserモデルないを調べたところこのようになりました
よろしければどうすればいいか教えてください
ログイン画面とコントローラーです
loginアクションで実行されるコードはどのようなものでしょうか?
定義とデータがわかる情報を提示してください。
今のところ「エラーの通り」以上答えられることはないです
画像では読みにくいし検索もできないので、textで貼って
[ログイン画面]
<h1>login</h1>
<%= form_with url: login_path, local: true do |f| %>
<div class="field">
<%= f.label :email %><br>
<%= f.text_field :email %>
</div>
<div class="field">
<%= f.label :password %><br>
<%= f.password_field :password %>
</div>
<div>
<%= f.submit "Login" %>
</div>
<%= link_to "sign up", new_user_path %>
<% end %>
[users_controller.rb]
class UsersController < ApplicationController
before_action :already_login?, only: [:new, :create]
before_action :login? ,only: :show
def new
@user = User.new
end
def create
user = User.new(user_params)
if user.save
session[:user_id] = user.id
redirect_to user_path, notice: "you have"
else
render :new
end
end
def show
end
private
def user_params
params.require(:user).permit(:email, :password, :password_confirmation)
end
end
pathの設定へidが設定されているかという記事を見たのですが
こちらがtopページのhtmlファイルでidを引数で設定してないのが原因ということも考えれますか?
<h2>hello</h2>
<%= link_to "sign up", new_user_path %>
<%= link_to "login", login_path %>
質問編集して返してください。
コードやエラーはマークダウンのcode機能を利用してご提示ください。
https://teratail.com/questions/238564