【发布时间】:2019-09-07 11:43:19
【问题描述】:
我正在尝试创建一个带有按钮的视图,该按钮调用 Redmine 插件的控制器操作(不幸的是,我在 Rails 上还很陌生)。我需要为我的控制器(此处为 A 控制器)创建一个方法,以便更新一些 Active Record。
我创建了一个控制器:
redmine_a_controller.rb
class RedmineAController < ApplicationController
def prova(input)
puts input
return input
end
def p
puts 'vuoto'
returns 'vuoto'
end
end
从控制台调用时,这些操作可以正常工作。不幸的是,当从我的角度调用_a.html.erb:
<%=
button_to l(:imp_update), {
:controller => 'RedmineAController',
:action => 'p',
method: :post
}
%>
它返回此错误:
ActionView::Template::Error (No route matches {:action=>"p", :controller=>"RedmineAController", :id=>"prova", :method=>:post, :tab=>"important_users"}):
我尝试在新实例上调用操作:
<%=
button_to l(:imp_update), {
:action => RedmineImportantUsersController.new.prova(1),
method: :post
}
%>
但它会在 Projects 控制器中查找操作
ActionView::Template::Error (No route matches {:action=>"1", :controller=>"projects", :id=>"prova", :method=>:post}):
如何让 button_to 在RedmineAController 控制器中调用正确的prova 方法?
提前感谢您的帮助。
【问题讨论】:
标签: ruby-on-rails ruby model-view-controller redmine