В моем представлении плагина Redmine у меня есть эта ссылка:
<%= link_to "Add", :controller => "important_user", :action => "u_edit", :u_id => user.id, :p_id => @project.id, :method => :post %>
rout.rb:
resources :important_user do
collection do
post :u_edit
end
end
и контроллер:
class ImportantUserController < ApplicationController
def u_edit
puts 'edit!'
end
def index
puts 'ciao'
puts params[:p_id]
puts params[:u_id]
end
end
Несмотря на вызов ожидаемого действия u_edit
, нажатие на ссылку вызывает метод index
(я создал его во второй момент, чтобы избежать ошибки AbstractController::ActionNotFound (The action 'index' could not be found for ImportantUserController)
).Я также пытался использовать ссылку такого рода:
<%= link_to 'Add', { :action => 'create', :u_id => user.id, :p_id => @project.id}, :method => :post %>
Но это тоже не сработало, возвращая projects?p_id=1&u_id=1
GET 404. Как я мог заставить его вызвать нужное действие u_edit
?