Learn-Rails Tut Error: NoMethodError - undefined method `login' for GoogleDrive:Module:

Learn-Rails Tut Error: NoMethodError - undefined method `login' for GoogleDrive:Module:

这是服务器输出的第一行:

NoMethodError - undefined method `login' for GoogleDrive:Module:
  app/models/contact.rb:16:in `update_spreadsheet'

这里是联系人模型(contact.rb):

class 联系人 < ActiveRecord::Base has_no_table

column :name, :string
column :email, :string
column :content, :string

validates_presence_of :name
validates_presence_of :email
validates_presence_of :content
validates_format_of :email,
:with => /\A[-a-z0-9_+\.]+\@([-a-z0-9]+\.)+[a-z0-9]{2,4}\z/i
validates_length_of :content, :maximum => 500

def update_spreadsheet
    connection = GoogleDrive.login(ENV["GMAIL_USERNAME"], ENV["GMAIL_PASSWORD"])
    ss = connection.spreadsheet_by_title('Learn-Rails-Example')
    if ss.nil?
        ss = connection.create_spreadsheet('Learn-Rails-Example')
    end
    ws = ss.worksheets[0]
    last_row = 1 + ws.num_rows
    ws[last_row, 1] = Time.new
    ws[last_row, 2] = self.name
    ws[last_row, 3] = self.email
    ws[last_row, 4] = self.content
    ws.save
  end
end

退回服务器并仔细检查拼写错误(包括确保我在 application.yml 文件中有正确的 ENV 变量)但我仍然 运行 错误。

我正在学习 Daniel Kehoe 的 Learn-Rails 教程。安装的 gem 之一是 google_drive。这让我想到了我需要做的事情——我使用的是 2013 年的旧版本。这让我来到这里:rubygems。org/gems/google_drive/versions 我改变了具体的gem 到 gem 'google_drive', '0.3.6' 因为它使用的是 1.0 - 那么我收到的错误是身份验证错误。更改了我的测试 Gmail 帐户的设置,现在可以使用了。感谢您帮我解决这个问题!