Ser*_*kin 1 ruby ruby-on-rails ruby-on-rails-3 ruby-on-rails-4
我刚刚创建了一个带有模型app/models/post.rb的Rails应用程序,并编写了一个scraper scrapers/base_scraper.rb(类BaseScraper),它将目标站点的数据收集到哈希变量数据中.现在我想将数据值插入Post模型.如何在Rails中正确地完成它?我听说过关于Rake的问题,但不知道如何正确使用它.请帮帮我!
假设只data存储一个帖子并且存储在data哈希中的每个密钥都是有效Post字段(column_name),您可以这样做:
Post.create(data)
Run Code Online (Sandbox Code Playgroud)
如果要从控制台启动整个过程,可以lib/tasks使用以下命令在进程目录下创建rake任务:
# scraper.rake
namespace :scraper do
desc "Run scraper"
task :run => :environment do
data = BaseScraper.your_collect_data_class_method
Post.create(data) if data
end
end
task :default => 'scraper:run'
Run Code Online (Sandbox Code Playgroud)
然后从控制台运行它作为rake任务 rake scraper
当然我也假设scrapersdir在你的Rails加载路径中.如果没有,请将其添加到您的application.rb文件中.
# application.rb
...
module YourApp
class Application < Rails::Application
...
config.autoload_paths += Dir["#{config.root}/scrapers/"]
...
end
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
459 次 |
| 最近记录: |