2016-03-15 39 views
0

的開始,我有以下前置元素到一個ActiveRecord關聯對象

@blogs = Blog.all 

我想一個元素推到那個ActiveRecord的關係對象的開始。這不工作,因爲它會爲一個陣列:

@blogs.unshift(Blog.find(123)) 

如何預先記錄該activerecord關係對象內的記錄?

回答

2

嘗試類似:

@blogs = [] 
@blogs << Blog.find(123) 
@blogs += Blog.where.not(id: 123) 

注:@blogs仍然是array objectactive record object

+0

應該是'@blogs + = Blog.where.not(ID:123)' – HenriTel

+0

是可以做到這一點的方法還,但''<<這種方式推動元件以陣列是更加易讀和易於理解 –

+0

'+ ='將連接給定數組,而'<<'將把給定數組推送到'@ blogs'。在你的解決方案中,你最終會得到類似'[blog1,[blog2,blog3]]'這很奇怪。 – HenriTel

0
@blogs = Blog.all.to_a 
@blogs.unshift(Blog.find(123))