2011-06-01 37 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 %>