小编kik*_*lue的帖子

部署到heroku后如何清除rails缓存?

我将缓存应用到我的heroku rails应用程序,它运行良好.但每次我部署到heroku时,我也想自动清除缓存.

所以我用Google搜索,我发现了这个.

task :after_deploy, :env, :branch do |t, args|
  puts "Deployment Complete"
  puts "Cleaning all cache...."
  FileUtils.cd Rails.root do
    sh %{heroku run console}
    sh %{Rails.cache.clear}
  end
end
Run Code Online (Sandbox Code Playgroud)

但是当我翻阅这个脚本时,它只显示了heroku控制台命令行,但是Rails.cache.clear命令没有输入.(我猜这是因为heroku控制台是互动的)

system "heroku console Rails.cache.clear"
Run Code Online (Sandbox Code Playgroud)

不适用于雪松应用程序.

我怎么解决这个问题?

谢谢.

deployment caching ruby-on-rails heroku clear

35
推荐指数
5
解决办法
4万
查看次数

在模型中使用accepts_nested_attributes_for时出现Rails 4.1错误

这个类分配的代码在rails v4.0.5之前是可以的,但它从rails 4.1.x发出错误

有一个api文档,所以我猜它没有被弃用.

我不知道这是什么问题.

Loading development environment (Rails 4.1.1)
2.1.1 :001 > class Assignment < ActiveRecord::Base
2.1.1 :002?>     belongs_to :group
2.1.1 :003?>     has_one :event
2.1.1 :004?>     accepts_nested_attributes_for :event
2.1.1 :005?>   end
NameError: undefined local variable or method `generated_feature_methods' for #<Class:0x0000010a262e28>
    from /Users/me/.rvm/gems/ruby-2.1.1@xxx/gems/activerecord-4.1.1/lib/active_record/dynamic_matchers.rb:26:in `method_missing'
    from /Users/me/.rvm/gems/ruby-2.1.1@xxx/gems/protected_attributes-1.0.5/lib/active_record/mass_assignment_security/nested_attributes.rb:30:in `block in accepts_nested_attributes_for'
    from /Users/me/.rvm/gems/ruby-2.1.1@xxx/gems/protected_attributes-1.0.5/lib/active_record/mass_assignment_security/nested_attributes.rb:16:in `each'
    from /Users/me/.rvm/gems/ruby-2.1.1@xxx/gems/protected_attributes-1.0.5/lib/active_record/mass_assignment_security/nested_attributes.rb:16:in `accepts_nested_attributes_for'
    from (irb):4:in `<class:Assignment>'
    from (irb):1
    from /Users/me/.rvm/gems/ruby-2.1.1@xxx/gems/railties-4.1.1/lib/rails/commands/console.rb:90:in `start'
    from /Users/me/.rvm/gems/ruby-2.1.1@xxx/gems/railties-4.1.1/lib/rails/commands/console.rb:9:in `start'
    from /Users/me/.rvm/gems/ruby-2.1.1@xxx/gems/railties-4.1.1/lib/rails/commands/commands_tasks.rb:69:in `console'
    from /Users/me/.rvm/gems/ruby-2.1.1@xxx/gems/railties-4.1.1/lib/rails/commands/commands_tasks.rb:40:in `run_command!'
    from /Users/me/.rvm/gems/ruby-2.1.1@xxx/gems/railties-4.1.1/lib/rails/commands.rb:17:in `<top (required)>'
    from bin/rails:4:in …
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails ruby-on-rails-4.1

3
推荐指数
1
解决办法
799
查看次数