У меня есть ресурс Player
, который имеет различные вложенные ресурсы, такие как: Measurable
и Workout
.В Rails, как я могу совместно использовать частный метод для вложенных контроллеров?
У меня есть переменная, которая используется на заголовке Player на своих страницах, и у меня есть переменная. Мне нужно установить, выполняю ли я действие с Player_Controller или с одного из других контроллеров вложенных ресурсов. Как я могу высушить мой код, чтобы добавить эту переменную где-то так, что я не должен включать в себя такой же, как кода в каждом контроллере ... как показано ниже:
PlayerController
class PlayersController < ApplicationController
before_action :set_measurable_summary
#...
private
def set_measurable_summary
@measurable_summary = @player.measurable_summary
end
end
WorkoutController
class Players::WorkoutsController < ApplicationController
before_action :set_measurable_summary
#...
private
def set_measurable_summary
@measurable_summary = @player.measurable_summary
end
end
Только правильный способ, если этот метод используется почти всеми контроллерами. В противном случае начало добавления общих методов для некоторых контроллеров внутри 'ApplicationController' открывает дверь в ад, когда кодовая база растет ... – Markus