0

我在 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 对象初始化良好。

4

1 回答 1

2

问题是来自 gemcutter 或 github 的 flickr-fu gem 的版本是 0.1.4,并且直到后续版本才实现 frob setter 方法。而是从 github 安装 gem commonthread-flickr_fu v0.3.0,并且 frob 是可写的。

于 2009-12-01T15:55:01.720 回答