Сначала нужно загрузить команду.Обычная практика заключается в том, чтобы сделать это в фильтре до.
class PlayersController < ActionController::Base
before_filter :get_team
def get_team
@team = Team.find(params[:team_id])
end
def index
@players = @team.players # add pagination, etc., if necessary
end
def show
@player = @team.players.find(params[:id])
end
end
Обратите внимание, что приведенный выше код настаивает на том, чтобы вы указали команду.Если вы хотите, чтобы один и тот же контроллер работал для обоих, вам нужно немного изменить его (т. Е. Проверить на params[:team_id]
).
Вы можете использовать превосходный драгоценный камень inherited_resources, чтобы высушить его, если логика контроллера проста.