2011-06-01 107 views
-1

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

last = Category.find(:last) 

这是一个类别的id指定为父ID的子类别中查找上次保存的记录。

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

@subcategory.parent_id = last.id 

这工作得很好,但是当多个用户正在试图创建分类,然后有PARENT_ID的错误分配给子类别。 (如果最后创建的话,有时需要使用不同类别的ID。)

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

+2

这个问题。这是一个很好的问题,但不清楚为什么你在寻找最后一类,而不是使用你添加的已知类别(你添加了它,所以你可能知道它是什么,对吧)?你认为这个系统的行为如何?你是如何实现这种行为的?我只问这些问题,因为我瞎写了一些答案,只是发现我脑海中对于你想要完成的事情有太多问题。 Category.all.last.subcategories.create似乎太容易回答。 – 2011-06-01 05:48:59

回答

0

而不是做一个单独的数据库查询,你应该在同一时间进行更改。

如果它是不可能找到你想更具体的手段类别,即last = Category.find_by_name('category I actually want'),然后更新您都和Category在同一个地方的相关Subcategories(您的控制器或模型,但是你有它成立)。

0

试试这个例子...它可以帮助你:必须充实一点

<% Specimen.find(:all, :order => 'distribution_sheet_id DESC', :limit => 10).each do |df| %> 
    <%= df.id %> 
<% end %>