在一个场景中,我使用的代码Ruby on Rails的最后找到保存的记录
last = Category.find(:last)
这是一个类别的id指定为父ID的子类别中查找上次保存的记录。
所以,我以这种方式分配它。
@subcategory.parent_id = last.id
这工作得很好,但是当多个用户正在试图创建分类,然后有PARENT_ID的错误分配给子类别。 (如果最后创建的话,有时需要使用不同类别的ID。)
是否有其他方法可以找到最后一条记录?
在一个场景中,我使用的代码Ruby on Rails的最后找到保存的记录
last = Category.find(:last)
这是一个类别的id指定为父ID的子类别中查找上次保存的记录。
所以,我以这种方式分配它。
@subcategory.parent_id = last.id
这工作得很好,但是当多个用户正在试图创建分类,然后有PARENT_ID的错误分配给子类别。 (如果最后创建的话,有时需要使用不同类别的ID。)
是否有其他方法可以找到最后一条记录?
而不是做一个单独的数据库查询,你应该在同一时间进行更改。
如果它是不可能找到你想更具体的手段类别,即last = Category.find_by_name('category I actually want')
,然后更新您都和Category
在同一个地方的相关Subcategories
(您的控制器或模型,但是你有它成立)。
试试这个例子...它可以帮助你:必须充实一点
<% Specimen.find(:all, :order => 'distribution_sheet_id DESC', :limit => 10).each do |df| %>
<%= df.id %>
<% end %>
这个问题。这是一个很好的问题,但不清楚为什么你在寻找最后一类,而不是使用你添加的已知类别(你添加了它,所以你可能知道它是什么,对吧)?你认为这个系统的行为如何?你是如何实现这种行为的?我只问这些问题,因为我瞎写了一些答案,只是发现我脑海中对于你想要完成的事情有太多问题。 Category.all.last.subcategories.create似乎太容易回答。 – 2011-06-01 05:48:59