2016-11-04 54 views
0

查詢參數在我的嵌套屬性的作家我的一些屬性有ID和一些不:如何嵌套屬性作家

attributes => [{"id"=>23, "name"=>"John Doe"}, {"name"=>"Jane Doe"}] 

我要摧毀的目標,除非它的ID包含的屬性陣列英寸我不知道如何正確地查詢屬性,所以現在正在做它像這樣:

id_array = attributes.collect{|a| a[:id]} 
object.destroy unless id_array.include(object.id) 

我寧願避免形成id_array,而是在一條線完成它來搭配這個僞代碼:

object.destroy UNLESS THERE'S AN ATTRIBUTE ELEMENT WITH SAME ID 

有麻煩提出了一個查詢,雖然對屬性起作用。

回答

1

試試這個

attributes.reject!{ |elem| !elem["id"] } 

編輯:

object.destroy unless attributes.collect{|elem| elem["id"]}.include?(object.id) 
+0

感謝。我不確定這樣做有什麼幫助,因爲它所做的一切都會返回一個數組,過濾掉沒有id的對象(與我的第一行相反,它會創建一個由原始數組構成的對象ID的新數組),在任何情況下,第二行需要查詢新的/修改過的數組,以查看問題的id是否與數組中存在的任何匹配。我希望創建一個屬性數組的查詢,告訴我它是否包含一個對象一個特定的ID – TDB

+0

謝謝,我在嘗試之前嘗試了鏈接,但是在我之前的嘗試中肯定漏掉了一些東西。 – TDB