RoR,具有多种资源的应用程序,从数据库中选取最后两个

时间:2016-02-16 14:28:37

标签: ruby-on-rails

我需要创建一个包含两个资源的应用程序 - 足球运动员和他们之间的'战斗'。战斗应始终是两个最近添加的球员之间的事情。 我的计划是拥有2个控制器,一个用于玩家,一个用于打架。战斗开始时,它会在FightsController中创建动作。 问题是,玩家的姓氏不会在params帮助下,因为我不会选择它们或在表单中输入他们的名字 - 它应该自动发生。

我计划将他们的名字放在主页面上,只打一个“战斗”按钮,它会调用创建动作。

所以,我的问题是 - 如何在FightsController中以优雅的方式从数据库中选择它们?我可以做一些像create(User.last ...)之类的东西,但还有更好的方法吗?

亲切的问候,

2 个答案:

答案 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