我可以将文件附加到一个组吗?

时间:2018-06-05 17:40:04

标签: redmine

El-Goog说之前没有人将文件附加到一个小组;当我搜索" redmine附件组"。

时,我才发现噪音

然而,这个测试通过;我显然可以将文件附加到Group的父类," Principal":

def test_attach_a_file_to_a_group
  set_tmp_attachments_directory
  group = Group.find_by_lastname!('B Team')

  a = Attachment.new(:container => group,
                     :file => uploaded_test_file("japanese-utf-8.txt", "text/plain"),
                     :author => User.find(1))
  assert a.save!
  assert_equal 'japanese-utf-8.txt', a.filename
  assert_equal 'Principal', a.container_type
end

那么我从哪里开始呢?我的插件应该重新实现" groups / _form.html.erb"文件并添加显示"选择文件的部分"按钮?或者我应该首先将某些内容修补到组中,以便准备好使用它可能不知道附加到它的文件吗?

我会在这里报告我发现的......

1 个答案:

答案 0 :(得分:0)

我似乎无法做到。我将在这里记录我到底有多远。

首先,我将此行添加到测试中:

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

这就是我所能做的一切。当我手动测试时,我得到了一条记录,该记录响应了带有404的查找URI。https://our.domain.com/attachments/thumbnail/6053?size=96。我在每个Rails.logger.warn上面放了一个render_404行和我能找到的相似,我从来没有弄清楚哪一个正在渲染404.AttamentsController正确地找到了附件,但这就是我能做到的追踪发生了什么。

所以现在我要退出所有这些新代码,并选择一个系统,我的代码需要一个Group才能拥有一个图像,只需通过查找与该组相关的项目中的附件即可找到一个。