Rails 4:Paperclip和rails_admin“未定义的方法`attachment_definitions’错误”

我正在使用rails_admin和paperclip但是使用具有paperclip属性的模型安装rails_admin has_attached_file会引发错误

 undefined method `attachment_definitions' 

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

我仍在轨道3上,但遇到了同样的问题。 我相当肯定它是最新的paperclip和rails_admin的问题。 我支持回形针到回形针(3.4.2),一切正常。

另外需要注意的是我使用的是ruby 1.9.3

所以对于较新的铁轨人/胆

在你的gem文件中

 gem "paperclip", "3.4.2" 

bundle update

不确定其他版本是否可行,但我知道其他版本会有效

你在模型本身正确调用has_attached_file吗?

我有ruby(1.9.3),Rails(4.0.1),paperclip(3.5.2)和rails_admin(0.5.0)正常工作。 然后我创建了一个新模型。 它有所有通常的回形针列,应该有效。 但是我得到了同样的错误信息。

我的问题 (duh)是我忽略了在模型中配置paperclip,但在我的模式中有paperclip列。 我没有在我的模型中调用has_attached_file …

 has_attached_file :img... 

我松松地记得rails_admin嗅到某些回形针嗅到的列并对其起作用。 所以我的回形针就像列一样,检测到rails_admin,但从未调用has_attaached_file导致错误。 而这个错误是有道理的,确实没有“attachment_definitions”可言!

问题可能是模型中缺少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 (固定了paperclip工厂的0.7.0版本)