【问题标题】:Rails 4: Paperclip and rails_admin "undefined method `attachment_definitions' error"Rails 4:Paperclip 和 rails_admin“未定义的方法 `attachment_definitions' 错误”
【发布时间】:2013-07-08 09:59:28
【问题描述】:

我正在使用 rails_admin 和回形针,但安装 rails_admin 的模型具有回形针属性 has_attached_file 会引发错误

undefined method `attachment_definitions'

我在主 git 分支和受保护的属性 gem 中使用 Rails 4 和 rails_admin。

【问题讨论】:

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


【解决方案1】:

我仍然在 Rails 3 上,但遇到了同样的问题。我相当确定这是最新的回形针和 rails_admin 的问题。我将回形针倒退到回形针(3.4.2),一切正常。

另一件值得注意的事,我使用的是 ruby​​ 1.9.3

所以对于较新的 Rails 家伙/胆小鬼

在你的 gem 文件中

gem "paperclip", "3.4.2"

然后bundle update

不确定其他版本是否可以使用,但我知道有一个可以使用

【讨论】:

  • 我已经确认这个修复也适用于 Rails 4.0.0 on Ruby 2.0.0-p195
  • 该死!非常感谢泰瑞尔。我不敢相信这不适用于最新版本的回形针
【解决方案2】:

您是否在模型本身中正确调用 has_attached_file?

我的 ruby​​ (1.9.3)、Rails (4.0.1)、回形针 (3.5.2) 和 rails_admin (0.5.0) 正常工作。然后我创建了一个新模型。它有所有常用的回形针列,应该可以工作。但我收到了同样的错误消息。

我的问题(duh)是我忽略了在模型本身中配置回形针,但在我的架构中有回形针列。我没有在我的模型中调用 has_attached_file ...。

has_attached_file :img...

我大致记得 rails_admin 会嗅探某些回形针气味列并对其进行操作。所以我有类似列的回形针,rails_admin 检测到了,但从未调用 has_attaached_file 导致错误。而且这个错误是有道理的,确实没有“attachment_definitions”可言!

【讨论】:

  • 你救了一个项目到死。非常感谢 。它真的很有帮助。我在数据库中找到了 rails_admin 正在寻找不存在的模型上的附件定义的列。 papercliprails_admin 很好。数据库和模型级别存在问题。
  • 我遇到了类似的问题。就我而言,是因为我在 has_attached_file 方法之前调用了 attachment_definitions
【解决方案3】:

问题可能是您的模型中缺少has_attached_file 声明。然而,这是 rails_admin 中的一个错误(在回形针工厂中)。我在这里提交了拉取请求:https://github.com/sferik/rails_admin/pull/2410

在此之前,您可以从这个分支使用 rails_admin:https://github.com/drap-hr/rails_admin/tree/v0.7.0-fixes(这是 0.7.0 版本,回形针工厂已修复)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-04-09
    • 1970-01-01
    • 2017-01-13
    • 1970-01-01
    • 1970-01-01
    • 2014-09-01
    • 1970-01-01
    • 2012-05-28
    相关资源
    最近更新 更多