我需要创建一个包含两个资源的应用程序 - 足球运动员和他们之间的'战斗'。战斗应始终是两个最近添加的球员之间的事情。 我的计划是拥有2个控制器,一个用于玩家,一个用于打架。战斗开始时,它会在FightsController中创建动作。 问题是,玩家的姓氏不会在params帮助下,因为我不会选择它们或在表单中输入他们的名字 - 它应该自动发生。
我计划将他们的名字放在主页面上,只打一个“战斗”按钮,它会调用创建动作。
所以,我的问题是 - 如何在FightsController中以优雅的方式从数据库中选择它们?我可以做一些像create(User.last ...)之类的东西,但还有更好的方法吗?
亲切的问候,
答案 0 :(得分:0)
也许将他们的id作为链接的参数?或者"战斗"按钮可以是表单的按钮,您可以使用所需数据的两个隐藏输入。
我不建议使用Model.last,因为您可能无法获得所需的结果,并且不清楚它在那里发生了什么。
答案 1 :(得分:0)
选择两名球员时,我会使用“战斗”!按钮作为提交给战斗的表单#创建并传递玩家ID。我会player_1 = User.find_by_id(:id)
和player_2 = User.find_by_id(:id_2)
。
您的战斗模型应该有has_many :users