NoMethodError:未定义的方法`has_attached_file'

时间:2010-04-30 10:43:28

标签: ruby-on-rails paperclip ruby-on-rails-3

Paperclip在检出插件的rails3分支后产生此错误。 我的Gemfile有以下行:

gem 'paperclip', :git => 'http://github.com/thoughtbot/paperclip.git', :branch => 'rails3'

错误信息是:

NoMethodError: undefined method `has_attached_file' for #<Class:0x2a50530>

5 个答案:

答案 0 :(得分:15)

更新06-21-10: thoughtbot版本已修复。

我必须在Paperclip::Railtie.insert的末尾向我的application.rb添加class Application < Rails::Application才能使其正常工作。自官方回购工作以来,我已经删除了我的前叉。希望有所帮助。

您还需要将以下内容添加到Gemfile

gem "paperclip", :git => "http://github.com/thoughtbot/paperclip.git"

答案 1 :(得分:3)

我有一个回形针叉,你可以试试它是否会在你的最后工作,只需更改你的Gemfile:

gem 'paperclip', :git => 'git://github.com/lmumar/paperclip.git', :branch => 'rails3'

更新Gemfile后不要忘记运行bundle install。

希望它能解决你的问题。

lmumar

答案 2 :(得分:1)

minter's fork为我工作:

gem 'paperclip', :git => 'http://github.com/minter/paperclip.git', :branch => 'rails3'

答案 3 :(得分:1)

这对我不起作用。 我做了以下事情并且工作得很好:

  • 在application.rb
  • 中添加“Paperclip :: Railtie.insert”
  • 在development.rb
  • 中添加“config.gem'paperclip'”

答案 4 :(得分:-1)

它适用于Jason King的回形针版本:

gem 'paperclip', :git => 'http://github.com/JasonKing/paperclip.git', :branch => 'rails3'