Как уже указывал klew, вы, вероятно, хотите действие члена, а не действие сбора.
Но прежде чем идти по этому пути, подумайте, действительно ли вам это нужно. добавление пользовательских действий не рекомендуется. Вам лучше оставаться в рамках 7 операций CRUD. Способ сделать это - добавить больше контроллеров:)
Например, если у вас есть контроллер users
и контроллер groups
, то добавление человека в группу не является действием join_group
в контроллере users
, а не действием add_user
в контроллере group
, это обычное create
действие в memberships
контроллере:).
и помните, что контроллеры не всегда соответствуют моделям, а модели не обязательно соответствуют таблицам базы данных, вы можете быть более гибкими.
Возвращаясь к вашему случаю, я думаю, что вы можете просто добавить одноэлементный ресурс, вложенный в ресурс проекта, как этот
map.namespace :admin do |admin|
admin.resources :projects, :has_many_products, :has_one => :plan
end
и реализовать: показать действие в plan_controller, которое должно быть сопоставлено с /admin/projects/:project_id/plan