Ruby on rails Ruby on Rails Tuto<;%如果已登录?%&燃气轮机;错误
我正在关注,但我不明白为什么我在Ruby on rails Ruby on Rails Tuto<;%如果已登录?%&燃气轮机;错误,ruby-on-rails,session,Ruby On Rails,Session,我正在关注,但我不明白为什么我在(app/views/layouts/application.html.erb)上出错 这是我的应用程序_controller.rb class ApplicationController < ActionController::Base protect_from_forgery with: :exception include SessionsHelper end 我错过了什么明显的东西吗?我发现这些错误: app/helpers/session
(app/views/layouts/application.html.erb)上出错
这是我的应用程序_controller.rb
class ApplicationController < ActionController::Base
protect_from_forgery with: :exception
include SessionsHelper
end
我错过了什么明显的东西吗?我发现这些错误:
app/helpers/sessions_helper.rb:20:in `current_user'
app/helpers/sessions_helper.rb:11:in `signed_in?'
app/views/layouts/application.html.erb:29:in `_app_views_layouts_application_html_erb___1005071352_28922208'
编辑:
SQLite3::SQLException: no such column: users.remember_token: SELECT "users".* FROM "users" WHERE "users"."remember_token" = 'da39a3ee5e6b4b0d3255bfef95601890afd80709' LIMIT 1
谢谢原来我错过了教程的一个步骤。当我执行
rails生成迁移时,我没有意识到我的迁移是空的向用户添加\u memory\u token\u
:
class AddRememberTokenToUsers < ActiveRecord::Migration
def change
end
end
class AddMemberTokenTousers
我只是跟随并执行一个新的迁移(因为时间戳):
class AddMemberTokenTousers
谢谢大家的帮助这就是您在日志中看到的全部内容吗?如果没有,你能显示整个日志吗?哦,你是对的,它就在我面前:
SQLite3::SQLException:没有这样的列:users.memory\u-token:选择“users”。*从“users”中选择“users”。“memory\u-token”='da39a3ee5e6b4b0d3255bfef95601890afd80709'限制1
我执行了bundle exec rake db:migrate
然后bundle exec rake test:prepare
看起来您还没有运行迁移,或者重新启动服务器。尝试rakedb:migrate first并执行此代码。
class AddRememberTokenToUsers < ActiveRecord::Migration
def change
end
end
class AddRememberTokenToUsers < ActiveRecord::Migration
def change
add_column :users, :remember_token, :string
add_index :users, :remember_token
end
end