2014-02-24 32 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修复错字。我不得不两次找出你确定的是什么。 :) –

相关问题