【问题标题】:How to Clear log using in rails?如何使用rails清除日志?
【发布时间】:2018-05-15 11:56:05
【问题描述】:

我想知道如何使用调度器清除登录?

我试过 rake log:clear

# app/lib/task/schedular.rake
desc 'clear logs'
task :clear_log => :environment do
  DailyAttendance.clear_logs
end

错误

bundle exec rake atte_task:clear_log

rake aborted!

NoMethodError: undefined method `clear_logs' for #<Class:0x000000098863b0>
/home/cpu053/.rvm/gems/ruby-2.2.1/gems/activerecord-4.2.4/lib/active_record/dynamic_matchers.rb:26:in `method_missing'
/home/cpu053/workspace/hrms/lib/tasks/schedular.rake:20:in `block (2 levels) in <top (required)>'
/home/cpu053/.rvm/gems/ruby-2.2.1/gems/rake-12.0.0/exe/rake:27:in `<top (required)>'
/home/cpu053/.rvm/gems/ruby-2.2.1@global/bin/bundle:23:in `load'
/home/cpu053/.rvm/gems/ruby-2.2.1@global/bin/bundle:23:in `<main>'
Tasks: TOP => atte_task:clear_log
(See full trace by running task with --trace)

【问题讨论】:

  • 不能使用文件读写操作吗?

标签: ruby-on-rails scheduled-tasks


【解决方案1】:

config/schedule.rb

every 4.hours do 
  rake 'log:clear'
end

【讨论】:

    【解决方案2】:

    有两种可能

    1) 你的 rake 任务执行命令名称空间有误,请试试这个。

    bundle exec rake schedular:clear_log

    2) clear_logs 方法中的 DailyAttendance 模型错误,请使用 self 方法。

    self.clear_logs

    【讨论】:

      猜你喜欢
      • 2015-10-19
      • 1970-01-01
      • 2010-11-12
      • 2018-04-20
      • 1970-01-01
      • 2018-10-06
      • 2020-03-05
      • 2010-09-08
      • 1970-01-01
      相关资源
      最近更新 更多