Я не думаю, что это случай изменения ApplicationController
, а просто «патч-патч» кода в ActionDispatch::Routing
для включения новых действий, которые вы хотите.Это кажется довольно сумасшедшей вещью в схеме вещей, поскольку нет стандартного способа дополнить или расширить обычные действия REST.Я надеюсь, что у вас есть веская причина для этого.
Просматривая код, вы видите, где определены действия по умолчанию, и, возможно, сможете представить новое.Rails 3 имеет немного иную структуру, но идея та же:
class ActionDispatch::Routing::Mapper::Resources::Resource
ENHANCED_DEFAULT_ACTIONS = DEFAULT_ACTIONS + [ :myaction ]
def self.default_actions
ENHANCED_DEFAULT_ACTIONS
end
end
Вам придется изменить ActionDispatch::Routing::Mapper::Resources#resources
, чтобы вести себя по-разному, но вы не указали, говорите ли вы одействие коллекции, нового или членского типа, поэтому вам нужно будет просто скопировать и изменить подпрограмму, чтобы она велась так, как вам хочется.