Как "виртуально" создать и сохранить атрибут отдельной модели в рельсах - PullRequest
1 голос
/ 03 января 2012

Заголовок может выглядеть так, как будто я спрашиваю, как получить доступ / найти / обновить атрибут связанной / вложенной модели, но это не так, и, к сожалению, это лучший заголовок, который я смог выяснить.

Я бы хотел построить футбольную игру с ruby ​​на рельсах, в которой совпали бы подпрограммы total_attack_value и total_defense_values ​​и т. Д. Я не планирую делать симуляцию слишком глубокой, как в здесь и здесь , например, для вычисления и сопоставления отдельных значений corner_attack или side_attack, но серьезно намерены включить навык вратаря в total_defense_value.

Для пояснения, total_attack_value будет рассчитываться как "total_shooting_value x total_pass_value x total_possess_value x / + Rand () и т. Д.", И все эти значения ..._ будут рассчитываться внутри модели Team, но total_defense_value должно иметь "goalkeeper_skill_value", который будет навыком игрока, выбранного пользователем в качестве вратаря на предстоящий матч, как я и планировал.

Я не могу думать ни о чем другом, кроме как сохранять и извлекать того игрока, которого пользователь поставил на позицию вратаря, используя виртуальные атрибуты, так как пользователь собирается запланировать матч на будущее время, и выбор вратаря должен сохраняться до тех пор. В этом случае я собираюсь создать модель Player_Position и модель ассоциации, принадлежащую как Position, так и Player, и функцию assign_positions в модели Player и т. Д. Однако это именно то, чего я пытаюсь избежать, код и сложность. Это то же самое, что предложить пользователю возможность перетаскивать игроков на отдельные позиции, как это видно в некоторых играх , таких как soccermanager и goalunited.

Предлагает ли rails какое-либо простое / готовое решение этой проблемы по сравнению с простыми операциями CRUD, такими как атрибут или STI?

1 Ответ

0 голосов
/ 04 января 2012

Я не уверен, что полностью понимаю, чего вы пытаетесь достичь, но следующая версия Rails, 3.2, имеет простую функциональность Key Value Store, которую вы можете использовать.Кандидат на релиз уже выпущен, так что вы сможете попробовать его, чтобы увидеть, отвечает ли он вашим потребностям.

Краткое примечание о функциональности было включено в последние заметки о выпуске .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...