Я пытаюсь создать представление с помощью кнопки, вызывающей действие контроллера для плагина Redmine (к сожалению, я довольно новичок в Rails). Мне нужно создать метод для моего контроллера (здесь A Controller), чтобы я мог обновить некоторые активные записи.
Я создал контроллер:
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_ вызвать правильный метод prova
в контроллере RedmineAController
?
Заранее спасибо за любую помощь.