Кажется, я не могу этого сделать.Я документирую здесь, как далеко я дошел.
Сначала я добавил эту строку в тест:
assert_equal 1, group.attachments.count
Это заставило меня пропатчить группу и добавить acts_as_attachable
.Ядро патча:
def self.included(base)
base.class_eval do
acts_as_attachable
end
end
Следующим шагом было скопировать app/views/groups/_form.html.erb
в папку app
моего плагина и добавить строки, которые отображают и добавить новые вложения:
<% extend AttachmentsHelper %>
<%= link_to_attachments @group, :thumbnails => true %>
<p><%=l(:label_attachment_plural)%><br /><%= render partial: 'attachments/form', locals: { container: @group } %></p>
Это потребовало, чтобы я пропатчил GroupsController с псевдонимом update
до update_with_attachments
и добавил строку, которая сохраняет вложение:
@group.save_attachments params[:attachments]
Наконец, поскольку acts_as_attachable
предполагает, что у вас есть проект, япришлось добавить def project; nil; end
в мою группу.
И это все, что я мог сделать.Когда я проверил вручную, я получил запись, которая ответила на URI поиска с 404. https://our.domain.com/attachments/thumbnail/6053?size=96
.Я ставил Rails.logger.warn
строку над каждым render_404
и аналогичным, который мог найти, и я так и не понял, какой из них рендерит 404. Контроллер Attachments правильно обнаружил вложение, но это было настолько далеко, насколько я мог отследить, что происходит.
Итак, теперь я собираюсь удалить весь этот новый код и перейти к системе, в которой мой код, для которого требуется группа, для которой требуется изображение, просто находит его, просматривая вложения в проектах, связанных с этой группой..