2014-02-24 33 views
-1

比方說,我有我的模型定義的對象(使用Rails 3):如何建立參數(字符串)數組從其父對象

class User < ActiveRecord::Base 
    belongs_to :List 
    validates :name, presence: true 
    validates :age, presence: true 
end 

對於一些給定對象的用戶,我怎麼能建立一個字符串[名稱]的數組? 像:

ids = 1 , 2 , 3 
Array.new (User.find_all_by_id(ids).name) 

本來:

名稱[] = [ 「約翰」, 「鮑勃」, 「湯姆」] 什麼想法?

+0

什麼是'O'應該是什麼?它應該是一個模型,或者是你的模型檢索到的對象? –

+0

什麼「object1的路徑」應該是什麼意思?它是對象的屬性嗎? – Agis

+0

請加更多詳情 – user2503775

回答

2

看一看勇氣:

ids = [1,2,3]  
User.where(id: ids).pluck(:name) 

你可以傳遞一個數組WHERE條件和勇敢,只是返回剛剛列你需要和返回數組

+0

謝謝,豎起大拇指請我認爲這可以對其他人有用:) – user2567674

0

o.find_all_by_id(ids)會返回給你一個數組。

o.where(ID:IDS)在軌道4,5風格

+0

這是Rails 3.x風格。 – Migol

1

User模型得到的名稱數組爲ID的具體名單,你可以使用

User.where(id: ids).pluck(:name) 

其中ids = [1,2,3]

這將導致查詢

SELECT "users"."name" FROM "users" WHERE "users"."id" IN (1, 2, 3) 
+1

@xlembouras我想我正在打入sleep.Thanks修復錯字。我不得不兩次找出你確定的是什麼。 :) –

相關問題