这个错误是什么意思ActiveRecord :: DangerousAttributeError

时间:2014-03-24 15:11:24

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

任何想法是什么意味着这个错误?

ActiveRecord::DangerousAttributeError (delay is defined by ActiveRecord):
app/models/issue.rb:849:in `relations'
app/controllers/issues_controller.rb:118:in `show'

由于

3 个答案:

答案 0 :(得分:4)

老兄,你在使用sidekiq宝石吗? Sidekiq使用一种称为“延迟”的方法来解决这个问题。删除sidekiq gem将解决您的问题,或,

只需将其放入Gemfile

即可
    gem 'safe_attributes'

并执行bundle install

更多信息:here,可以找到解决方案here

更新:或者,您也可以安装redmine_sidekiq插件,这也可以解决问题。

UPDATE-2:创建了一个sidekiq gem的分支,解决了这个问题。请找here。按照pull request

中的说明操作

希望这有帮助!

答案 1 :(得分:0)

您可能在delay模型中有Issue列。您应该重命名它,因为此名称由ActiveRecord在内部使用。

答案 2 :(得分:0)

documentation开始,当属性具有Active Record保留的名称时(当属性具有Active Record实例方法之一的名称时),会引发此错误。"

所以基本上属性delay是ActiveRecord保留的属性,最好将其称为其他内容,否则会遇到命名冲突。