我在 rails 应用程序中使用 flickr-fu gem 进行 flickr api 集成。我正在按照示例代码设置如下所示的 Web 应用程序:
def flickr_create
flickr = Flickr.new(File.join(RAILS_ROOT, 'config', 'flickr.yml'))
redirect_to flickr.auth.url(:read)
end
def flickr_callback
flickr = Flickr.new(File.join(RAILS_ROOT, 'config', 'flickr.yml'))
flickr.auth.frob = params[:frob]
current_user.update_attribute :flickr_token, flickr.auth.token.token
flash[:notice] = "Succesfully authenticated with Flickr"
redirect_to :flickr_stream
end
我已将 flickr_callback 注册为 flickr 在授权过程后调用的回调方法。
当我尝试将 params[:frob] 分配给 flickr.auth.frob 时,问题在于 flickr_callback 中的行。我收到以下错误:
Flickr::Auth:0x24b3640 的未定义方法“frob=”
即使我只需要控制台中的“flickr_fu”,创建一个新的 flickr 实例,并尝试分配给 frob,我也会得到同样的错误。我查看了 github 上的 gem 源代码,设置器 frob= 设置在 Flickr::Auth 模块中,所以我不知道错误在哪里。API 调用成功,flickr 对象初始化良好。