Изменение параметра родительских ресурсов внутри проблемы маршрутизации - PullRequest
0 голосов
/ 07 апреля 2020

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
...