2013-07-08 2 views
7

Я использую rails_admin и скрепку, но установка rails_admin с моделью, имеющий скрепку атрибуты has_attached_file выдает ошибкуRails 4: Скрепка и rails_admin «неопределенный метод` ошибка attachment_definitions'»

undefined method `attachment_definitions' 

Я использую Rails 4 и rails_admin в мастер-ветке git и защищенных атрибутах.

+0

также с этой проблемой. пожалуйста, уточните, если вы нашли ответ! – CharlieMezak

+0

См. Https://github.com/sferik/rails_admin/issues/1691 –

ответ

8

Я все еще на рельсах 3, но столкнулся с тем же вопросом. Я вполне уверен, что это проблема с последними скрепками и rails_admin. Я поддержал скрепку до скрепки (3.4.2), и все работает.

Другое дело, отметить, я использую рубинового 1.9.3

Так что для новых рельсов парней/галлов

В файле гем

gem "paperclip", "3.4.2" 

затем bundle update

не уверен если другие версии будут работать, но я знаю, что он делает

+1

Я подтвердил, что это исправление также работает для Rails 4.0.0 на Ruby 2.0.0-p195 –

+0

Проклятье! Большое спасибо Тирел. Я не могу поверить, что это не работает с последней версией Paperclip. – JGutierrezC

3

Правильно ли вы вызываете has_attached_file в самой модели?

У меня был рубин (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, что приводило к ошибке. И эта ошибка имеет смысл, на самом деле не было никаких «описаний привязанности»!

+0

Вы сохранили один проект, чтобы умереть. Огромное спасибо . Это действительно помогло. Я нашел столбцы в базе данных, для которых rails_admin ищет защиту от прикрепления на модели, которой нет. 'paperclip' и' rails_admin' в порядке. Существует проблема на уровне db и модели. –

+0

У меня была аналогичная проблема. В моем случае это было потому, что под капотом я называл 'attachment_definitions' перед методом' has_attached_file' – ivanxuu

1

Проблема может заключаться в том, что в вашей модели отсутствует декларация has_attached_file. Однако это ошибка в rails_admin (в фабрике paperclip). Я подал заявку тянущей здесь: 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 версии с скрепкой заводом фиксирован)

Смежные вопросы