通过插件访问Redmine控制器

Shr*_*tor 41 plugins ruby-on-rails redmine

我已经在Redmine官方网站上提出了这个问题,但我没有得到任何答案,也许我会有更多机会在这里.

我正在开发一个项目,我尝试通过添加一些功能来改进Redmine 的现有插件,以允许用户使用简单的表单在Redmine文档中上传他的Dropbox文件.Redmine已经有了这种可能性,所以我想使用Redmine源代码中已经定义的控制器和方法.

我在其中一个插件视图中有以下代码:

<% html_title "Reddrop - Sync" %>
<h2>Synchronisation page</h2>
<p>Please choose your file</p>
<%= form_tag({:controller => "documents", :action => "add_attachment", :id => @document},    :multipart => true) do %>
<%= file_field_tag 'attachments[dummy][file]', :id => nil, :multiple => true, :onchange => "addInputFiles(this)" %>
<%= submit_tag(value = "Sync this file with Redmine") %>
<% end %>
Run Code Online (Sandbox Code Playgroud)

我正在调用add_attachmentRedmine源代码中定义的"文档"控制器和方法.当我提交表单时,我收到以下错误:

ActionController::RoutingError (No route matches {:controller=>"documents", :action=>"add_attachment", :id=>nil}):
Run Code Online (Sandbox Code Playgroud)

如果它们是在Redmine源代码中定义的,是否可以通过插件调用这些控制器/方法?

如果是的话,也许您可​​以就如何配置我的路线提出一些建议?

Jai*_*put 1

请参阅此处:id => @document
@document是包含的变量nil,但是它应该包含一些id(如 1,2 或其他)所需的记录,请在控制器中检查它,一旦解决此问题,请确保此错误将得到解决。