Использование 50 операторов if-else слишком ресурсоемко для одного действия?
Я делаю что-то вроде этого:
if team.players.count > 1
assign_team_type(..)
elsif team.players.count > 3
assign_team_type(..)
...
etc.
...
end
Кроме того, более эффективно разместить 50 операторов if-else в вашем действии create внутри вашего контроллера вместо метода after_create? Или было бы эффективнее вместо этого использовать оператор переключения регистра или просто вообще его избегать?
РЕДАКТИРОВАТЬ: Спасибо за очень быстрые ответы! Код для спортивного турнира сообщества назначает команды в зависимости от количества игроков в этой команде. Я пытаюсь написать что-то, что назначает тип команды для каждой команды в зависимости от того, сколько игроков добавлено в эту команду. Таким образом, есть команды для 1 игрока, 3 игроков, 5 игроков, 7 игроков и т. Д., До 200 игроков, что требует в общей сложности 50 операторов if-else.
Операторы выполняются в Players_controller, после того как пользователь посещает http://localhost/players/new,, добавляет игрока, а затем приложение решает, какой команде назначить его или ее команду, исходя из того, сколько игроков в настоящее время входит в эту команду. Это очень просто (базовое CRUD-приложение, которому просто нужны эти 50 операторов if-else)
models:
Team (has_many :players)
Player (belongs_to :team)
scaffold team name:string team_type:string
scaffold player team_id:integer name:string
Вот и все: :)