2014-05-10 85 views
1

我在数据库中有一个表,名称为tags,此表有2列:1.name,2.count。我想读取第一列并添加到数组中,并使用","分隔名称。我用下面的代码:从数据库读取列并添加到列中的数组

@list = Array.new 
temp = Tag.all 
@list || temp.map(&:name).join(",") 

我要像下面的示例创建列表:

"name1","name2",..,"namen" 

我想这个数组传递到JavaScript。我问了一个question;我想创建像这样的数组类型:[“name1”,“name2”]。我如何将@list转换为这种类型?

回答

0

Tag.pluck(:name)将从tags数据库


要添加到array创建名称的数组,你要做到这一点:

@list ||= Tag.all.map(&:name) 
@list << Tag.find 15 # -> if you wanted to add to the array 

阵列已经有,加盟 - 你不需要那样做。如果你想名字的字符串,它是由,加入,你要的数组转换为字符串第一

+0

我想将此数组传递给'javascript'。我问了一个[问题](http://stackoverflow.com/questions/23577429/passing-array-list-from-model-to-script-in-rails);我想创建这样的数组:'[“name1”,“name2”]'。我如何将'@ list'转换为这种类型? – mgh

+0

如果您使用'pluck'方法,它将为您创建该数组。然后你可以将数组传递给JS。我想你问的是错误的问题 –

+0

我使用'pluck',但是当我把这个传给JS时,我''['namename1','name2']''''''' 。 – mgh

0

,如果你有轨3.2〜>然后用

Tag.pluck(:name) 

,如果你的旧钢轨然后使用

@list = Tag.all.map(&:name).join(",") 
相关问题