ActiveRecord::RecordNotFound (找不到 'id'=101 的用户)



所以,我想在我的应用程序中添加分页。当我想向用户展示时,它第一次有效,但后来它不起作用,我想显示我的帖子。他们指出问题出在我的控制器上,但我不知道如何解决。

users_controller.rb
class UsersController < ApplicationController
def show
@user = User.find(params[:id])
@microposts = @user.microposts.paginate(page: params[:page])
# binding.pry
# debugger
end
def new
@user = User.new
end
def create
@user = User.new(user_params)
if @user.save
# Handle a successful save.
log_in @user
flash[:success] = "Welcome to the Tute 6!"
redirect_to @user
else
render 'new'
end
end
def index
#@users = User.all
@users = User.paginate(page: params[:page])
end
private
def user_params
params.require(:user).permit(:name, :email, :password,
:password_confirmation)
end
end
db/seeds.rb
User.create!(name: "Example User",
email: "example@railstutorial.org",
password:
"foobar",
password_confirmation: "foobar")
99.times do |n|
name = Faker::Name.name
email = "example-#{n+1}@railstutorial.org"
password = "password"
User.create!(name: name,
email: email,
password: password,
password_confirmation: password)
end
users = User.order(:created_at).take(6)
50.times do
content = Faker::Lorem.sentence(5)
users.each { |user| user.microposts.create!(content: content) }
end

如果你能帮我,谢谢你。

我创建了 99 个用户,你不应该找到用户 101。不知道您是否使用了宝石或自己编写了分页逻辑,但我怀疑问题在于您的记录太多了。如果您刚刚实现了分页系统,我会废弃它并非常简单地移动到 pagy(gen pagy(,并且比弄清楚这个 exstra 用户计数来自哪里更快地解决您的问题

祝你好运!

所以显然发生了错误,因为当我做rails db:migrate:reset和rails db:seed时,我还在我的主页上。当我这样做时,它实际上也会删除我在登录时添加的数据。这就是他们感到困惑的原因。在我返回主页并再次登录后,用户和我的帐户将正常工作。所以是的,这很尴尬。

最新更新