NoMethodError:未定义的方法“has_attached_file”

Posted

技术标签:

【中文标题】NoMethodError:未定义的方法“has_attached_file”【英文标题】:NoMethodError: undefined method `has_attached_file' 【发布时间】:2010-04-30 10:43:28 【问题描述】:

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

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

错误信息是:

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

【问题讨论】:

【参考方案1】:

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

我必须在class Application &lt; Rails::Application 末尾添加Paperclip::Railtie.insert 到我的application.rb 以使其正常工作。自从官方回购工作以来,我已经删除了我的叉子。希望对某人有所帮助。

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

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

【讨论】:

【参考方案2】:

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

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

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

希望它能解决您的问题。

lmumar

【讨论】:

"评估 paperclip.gemspec 时出现 LoadError。它是否尝试要求相对路径?这在 Ruby 1.9 中不起作用。" 谢谢 - 为我工作 :-) 这将让我继续前进,直到 master 为 Rails3 完全修复。 这个叉子也对我有用。希望thoughtbot 很快就会从lmumar 撤出:)【参考方案3】:

minter 的叉子对我有用:

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

【讨论】:

【参考方案4】:

这对我不起作用。 我已经完成了以下事情,并且运行良好:

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

【讨论】:

【参考方案5】:

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

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

【讨论】:

这似乎不再存在了。

以上是关于NoMethodError:未定义的方法“has_attached_file”的主要内容,如果未能解决你的问题,请参考以下文章

NoMethodError:升级到 rake 11 后未定义方法“last_comment”

Rails - RSpec NoMethodError:未定义的方法

Rails 类给出 NoMethodError 未定义的方法“每个”

Rspec 测试:NoMethodError - nil.Nilclass 的未定义方法“id”

NoMethodError:未定义的方法“has_attached_file”

NoMethodError: nil:NilClass / 'additional_paths' [capistrano+webpacker] 的未定义方法“+”