f.select - 基于在Rails

时间:2016-02-22 11:10:22

标签: ruby-on-rails

我有一个表单,用户可以从列表中选择两个玩家(两个单独的选择字段)。我设法使用options_for_select帮助器,但是 用户不应该被允许选择同一个玩家两次 - 显然不能像玩家1和玩家1那样。我正在尝试“禁用”选项,但没有成功,因为可用用户列表应该在选择第一个用户后动态更改,这可能无法在Rails中完成?

1 个答案:

答案 0 :(得分:1)

这是一个非常广泛的问题,细节很少,因此我的答案将是通用的,以涵盖大多数情况。

您必须使用JavaScript来隐藏其他列表中的相同选项。 Rails在服务器端工作,因此如果您希望Rails在没有选定选项的情况下重新呈现列表,则应重新加载页面。但这是一种糟糕的用户体验。

但是,您还应该执行服务器端检查。即使您添加了JS,仍然可以发送精心设计的请求,其中玩家是相同的。这必须最终在服务器端级别,Rails控制器或您具有处理比较的逻辑的任何地方进行验证。