Ruby on rails RubyonRails查找上次保存的记录

Ruby on rails RubyonRails查找上次保存的记录,ruby-on-rails,Ruby On Rails,在一个场景中,我使用代码查找最后保存的记录 last = Category.find(:last) 这是为了将类别的id指定为子类别的父id 所以,我以这种方式分配它 @subcategory.parent_id = last.id 这可以正常工作,但是当多个用户试图创建类别时,就会将父类id错误地分配给子类别。(如果是最后一个创建的,则有时会使用不同类别的id。) 有没有其他方法可以找到最后一条记录?您应该同时进行更改,而不是执行单独的数据库查询 如果无法通过更具体的方式找到您想要的类别,

在一个场景中,我使用代码查找最后保存的记录

last = Category.find(:last)
这是为了将类别的id指定为子类别的父id

所以,我以这种方式分配它

@subcategory.parent_id = last.id
这可以正常工作,但是当多个用户试图创建类别时,就会将父类id错误地分配给子类别。(如果是最后一个创建的,则有时会使用不同类别的id。)


有没有其他方法可以找到最后一条记录?

您应该同时进行更改,而不是执行单独的数据库查询


如果无法通过更具体的方式找到您想要的类别,即
last=category。按名称(“我真正想要的类别”)查找
,然后在同一位置更新您的
类别和相关的
子类别
(您的控制器或型号,无论您如何设置).

试试这个例子……它可能会帮助您:

<% Specimen.find(:all, :order => 'distribution_sheet_id DESC', :limit => 10).each do |df| %>
  <%= df.id %>
<% end %>
“分配表id描述”,:限制=>10)。每个do | df |%>

这个问题需要充实一下。这是一个很好的问题,但不清楚为什么您要查找最后一个类别,而不是使用您添加的已知类别(您添加了它,所以您可能知道它是什么,对不对)?您希望此系统如何运行,以及您是如何实现此行为的?我之所以问这些问题,是因为我无意中写下了一些答案,结果却发现,关于你试图实现的目标,我脑子里有太多的问题。Category.all.last.subcategories.create似乎太简单了。