如何使用Rails在“创建新记录”表单上显示自动增量ID

时间:2010-10-09 01:37:03

标签: ruby-on-rails database forms ruby-on-rails-3

我正在尝试创建一个表单,该表单将在表单上提交提交之前显示记录转到的ID。例如,如果我有一个表单来创建一个新项目,而前一个项目是id 3,我希望新项目表单自动填充4,这样我就知道在提交表单之前它将是4。 / p>

感谢您提供的任何帮助!

- 标记

2 个答案:

答案 0 :(得分:0)

如果您在没有首先在数据库中实际创建记录的情况下使用auto_increment,则无法真正执行此操作。因此,您可能需要使用不同的策略来生成记录的ID。

答案 1 :(得分:0)

不完全确定为什么要这样做,但根据所使用的数据库技术,有不同的方法。但是,您不希望使用这些方法,因为您的应用程序将不再与数据库无关。

粗略而简单的方法是选择表格中的最后一行,然后将其递增id

示例:

next_id = Project.last.id + 1

然而 我不认可这个解决方案 ,特别是因为 不保证 如果有多个用户登录并同时创建项目,则单击“保存”时next_id将可用。

我建议使用的是另一个可用作辅助唯一标识符的列,可能类似于GUID。无论它是什么,使用可以生成的东西,并且对于该实例是唯一的。

相关问题