当我在终端中执行rake db:reset时,我可能已经删除了我的用户信息(:maker_id,:name和:password),所以现在转到'localhost:3000''/'会给我这个错误:< / p>
PageController#home
中的ActiveRecord :: RecordNotFound找不到'id'= 1
的制作者提取的来源(第7行):
6 def current_user
7 @current_user || = Maker.find(session [:maker_id])if session [:maker_id]
8结束
9 helper_method:current_user
我的应用程序控制器有:
bars
我的网页控制器空了
class ApplicationController < ActionController::Base
protect_from_forgery with: :exception
def current_user
@current_user ||= Maker.find(session[:maker_id]) if session[:maker_id]
end
helper_method :current_user
def authorize
redirect_to '/' unless current_user
end
end
我的网页home.html.erb视图有:
def home
end
我的布局application.html.erb视图有:
<div class='text-center'>
<h1>Welcome to venture</h1>
<br><br>
<%= link_to "Signup", '/signup', class: 'btn btn-success' %> or
<%= link_to "Login", '/login', class: 'btn btn-primary' %>
</div>
它曾经在db:reset之前运行db:drop db:setup我相信。通常我会通过注册页面创建用户,但现在我无法到达那里。
感谢任何见解。
答案 0 :(得分:1)
这些记录不再可用 - 执行db:drop
时,所有记录都已被删除。该操作不能是undone
,目前唯一的选择是手动或自动恢复数据库,如果您有权访问其备份。
答案 1 :(得分:0)
运行rake db:setup以重新创建数据库。然后创建一个新用户。
结帐this answer以查看各种rake db
命令之间的差异