routes.rb
concern :recordable do |options|
resource :recording, only: :create
end
resources :calls, concerns: :recordable
resources :episodes, concerns: :recordable
rails g routes -g record
Prefix Verb URI Pattern Controller#Action
call_recording POST /calls/:call_id/recording(.:format) recordings#create
episode_recording POST /calls/:episode_id/recording(.:format) recordings#create
Можно ли как-то изменить настройку маршрутизации, чтобы впоследствии на любом ресурсе, который имеет recordable
у концерна будет :recordable_id
параметр вместо :call_id
и :episode_id
, как в примере выше?
Что-то похожее на это, может быть:
concern :recordable do |options|
resource :recording, only: :create, parent_param: :recordable
end
На время Я пошел со следующей альтернативой:
concern :recordable do |options|
resource :recording, only: :create, module: options[:module]
end
resources :calls do
concerns :recordable, module: :call
end