gpt4 book ai didi

methods - 未定义方法 `remember_token=' 'find_by_remember_token' - 第 8 章 Ruby on Rails 教程

转载 作者:行者123 更新时间:2023-12-01 09:02:01 28 4
gpt4 key购买 nike

我正在尝试完成 Michael Hartl 的 Ruby on Rails 教程,但我被困在第 8 章。我在运行测试时遇到了同样的两个错误:

NoMethodError: 未定义的方法 remember_token='
ActionView::Template::Error: 未定义方法
find_by_remember_token'

我对编码和编程非常陌生,所以我不确定要发布什么,以便人们可以帮助解决我的问题。我觉得我已经定义了 :remember_token 和 find_by_remember_token。我在下面的代码中包含了 :remember_token 出现的每个实例:

sample_app/app/helpers/sessions_helper.rb:
2
3 def sign_in(user)
4: cookies.permanent[:remember_token] = user.remember_token
5 self.current_user = user
6 end
.
15
16 def current_user
17: @current_user ||= User.find_by_remember_token(cookies[:remember_token])
18 end
19
20 def sign_out
21 self.current_user = nil
22: cookies.delete(:remember_token)
23 end
24 end

sample_app/app/models/user.rb:
16
17 before_save { |user| user.email = email.downcase }
18: before_save :create_remember_token
19
20 validates :name, presence: true, length: { maximum: 50 }
..
27 private
28
29: def create_remember_token
30: self.remember_token = SecureRandom.urlsafe_base64
31 end
32 end

sample_app/db/migrate/[timestamp]_add_remember_token_to_users.rb:
1 class AddRememberTokenToUsers < ActiveRecord::Migration
2 def change
3: add_column :users, :remember_token, :string
4: add_index :users, :remember_token
5 end
6 end

sample_app/spec/models/user_spec.rb:
27 it { should respond_to(:password) }
28 it { should respond_to(:password_confirmation) }
29: it { should respond_to(:remember_token) }
30 it { should respond_to(:authenticate) }
31
..
125 describe "remember token" do
126 before { @user.save }
127: its(:remember_token) { should_not be_blank }
128 end
129 end

sample_app/spec/support/utilities.rb:
7 click_button "Sign in"
8 # Sign in when not using Capybara as well.
9: cookies[:remember_token] = user.remember_token
10 end`

最佳答案

我也遇到了这个问题。经过一番谷歌搜索后,我发现运行这些终端命令......

rake db:drop
rake db:create
rake db:migrate

...让我重新振作起来。

希望它也对你有用。我知道这有多令人沮丧。

关于methods - 未定义方法 `remember_token=' 'find_by_remember_token' - 第 8 章 Ruby on Rails 教程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15302264/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com