首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails 5上的回形针未定义的方法'has_attached_file‘

Rails 5上的回形针未定义的方法'has_attached_file‘
EN

Stack Overflow用户
提问于 2018-03-17 18:07:20
回答 3查看 876关注 0票数 0

安装回形针后,Rails服务器将无法启动。我在控制台中看到以下错误消息:

代码语言:javascript
复制
undefined method 'has_attached_file'.

在我的Gemfile中

代码语言:javascript
复制
gem "paperclip", :git => "http://github.com/thoughtbot/paperclip.git"

我在我的config/environment/development.rb中尝试了这个方法

代码语言:javascript
复制
config.gem "paperclip"

在我的config/application.rb中

代码语言:javascript
复制
Paperclip::Railtie.insert

我的电脑上安装了ImageMagik (我用的是windows10)。有什么线索吗?

在安装回形针后,我在控制台中看到一条消息,说回形针现在与aws-sdk >= 2.0.0兼容。所以我也从github设置了最新的aws-sdk-ruby ...

EDIT :在使用命令'which‘获取路径后,也尝试了此操作

代码语言:javascript
复制
Paperclip.options[:command_path] = "/c/Program Files/ImageMagick-7.0.7-Q16/convert"
EN

回答 3

Stack Overflow用户

发布于 2018-03-17 22:57:11

我要更改的第一件事是使用版本号,而不是直接从GitHub获取包。

Gemfile中:

更改

代码语言:javascript
复制
gem "paperclip", :git => "http://github.com/thoughtbot/paperclip.git"

代码语言:javascript
复制
gem "paperclip", "~> 6.0"

确保运行rails generate paperclip命令(示例:rails generate paperclip photo image)将所需的attachment字段添加到数据库模型模式中。

一旦有了attachment字段,您就可以使用has_attached_file将回形针安装到该字段(例如:has_attached_file :image)。

别忘了重启你的服务器。

附注:没有必要使用config.gem "paperclip"Paperclip::Railtie.insert,我在GitHub的回形针文档中找不到任何提到它们的地方,所以我确信它们现在已经停止使用了,因为它们是在Rails 4之前的应用程序中使用的。

附言:我强烈建议你双重引导到Unix操作系统(不管是Linux发行版还是macOS),或者使用在线集成开发环境,比如Cloud9,而不是Windows。这只是一个糟糕的想法,在处理项目时,您希望复制到生产环境的最小细节。

票数 0
EN

Stack Overflow用户

发布于 2018-03-17 23:39:44

尝试添加

代码语言:javascript
复制
include Paperclip::Glue

给你的模特。

票数 0
EN

Stack Overflow用户

发布于 2018-03-18 04:55:07

我现在都准备好了。很明显,数据库结构出现了问题。至于其余的,一切都在github https://github.com/thoughtbot/paperclip上得到了很好的解释,但1)我遵循的是一个缺少几个步骤的教程,2) windows有一个特定的问题。

删除所有表并重新从头开始迁移似乎已经解决了导致错误的最基本问题。

Windows用户,请注意与ImageMagik无关的file.exe的路径设置。你可以把这个file.exe放在你想放的任何地方,在我的例子中

代码语言:javascript
复制
Paperclip.options[:command_path] = 'C:\Sites\utils\GnuWin32\bin'

不管怎样,谢谢你!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49334740

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档