如何在rake文件中自动加载数据

时间:2011-09-01 05:55:50

标签: ruby-on-rails-3 macos rake

我有一个rake任务,用数据填充数据库。

以下是一个示例:

Icon.create!(  :category_id => category_id,
               :name => "Wink",
               :url => "#{url}wink.png",
               :icon_for => icon_for )

我想要做的是自动执行此操作,因为'name'属性只是文件夹中文件的名称,但是大写但没有结束,而'url'属性只是文件名。

其余我用变量控制。

我有没有办法像这样:

  1. 读取指定文件夹中的文件数
  2. 循环该次数并创建插入所需文件名值的对象。
  3. 我该怎么做?

    提前谢谢。

    Rails 3.0.7 Ruby 1.9.2 Mac OSX 10.6

1 个答案:

答案 0 :(得分:1)

是的,你是在Ruby标准库的帮助下完成的。您应该了解File classDir class。这是您的代码可能如下所示的草图:

(Dir.entries("path/to/specified/folder") - ['.','..']).each do |filename|
  Icon.create!(:category_id => category_id,
               :name => filename,
               :url => url + filename,
               :icon_for => icon_for)
end

我会留下它作为练习,让你弄清楚如何大写文件名的第一个字母并扼杀扩展名。