2013-10-23 20 views
0

例如這裏我摘下一些文件名形成數據庫Rails的,按文件類型選擇所有文件

> Item.pluck(:item_file_name) 
=> ["amqp.dll", "readme.txt", "EULA.rtf", "GPL.txt", "adjperm.dll"] 

如何按類型來選擇文件,例如

> txt = Item.where(:item_file_name => '***.txt') 
and returns 
=> ["GPL.txt", "readme.txt"] #all txt files 

回答

1

這是你的解決方案:

txt = Item.select("item_file_name").where("item_file_name like (?)", "%.txt")

或類似這樣的

txt = Item.where("item_file_name like (?)", "%.txt").pluck(:item_file_name)

+0

是的,這兩個變種都不錯。 thanx amit。 –

0

嘗試txt = Item.where("item_file_name like (?)", ".txt%").pluck(:item_file_name)

+0

阿馬爾,這裏大概有些語法錯誤 '的SQLite3 ::的SQLException:近 「」:語法錯誤:選擇 「項目」 * FROM 「項目」 WHERE(item_file_name像()? .txt%)' –

+0

@ user2819006 where子句中需要有一個逗號。 'txt = Item.where(「item_file_name like(?)」,「.txt%」)。pluck(:item_file_name)'嘗試一下。 –

+0

感謝Manoj Monga,你的回答有效。 –