任何想法這意味着什麼?什麼意思這個錯誤ActiveRecord :: DangerousAttributeError
ActiveRecord::DangerousAttributeError (delay is defined by ActiveRecord):
app/models/issue.rb:849:in `relations'
app/controllers/issues_controller.rb:118:in `show'
感謝
任何想法這意味着什麼?什麼意思這個錯誤ActiveRecord :: DangerousAttributeError
ActiveRecord::DangerousAttributeError (delay is defined by ActiveRecord):
app/models/issue.rb:849:in `relations'
app/controllers/issues_controller.rb:118:in `show'
感謝
你可能在Issue
模型delay
列。您應該重命名它,因爲此名稱由ActiveRecord
內部使用。
從documentation開始,當屬性的名稱由Active Record保留時(當屬性具有Active Record實例方法之一的名稱時),引發此錯誤。「
因此,基本上屬性delay
是由ActiveRecord保留的屬性,並且將其稱爲其他名稱是個好主意,否則您將遇到命名衝突。
謝謝omnikron,但我使用redmine和i'cant重命名此屬性,我可以有任何其他解決方案來解決此衝突。 –
你能在'app/models/issue.rb:849'中顯示相關的代碼嗎? – omnikron
@relations || =(relations_from + relations_to).sort和屬性延遲在表relations_issues –
夥計,你使用的是sidekiq
寶石嗎? Sidekiq使用一種稱爲「延遲」的方法導致了這個問題。卸下sidekiq創業板將解決你的問題,或者,
只是把這個在您的Gemfile
:
gem 'safe_attributes'
,做bundle install
更新:或者,你也可以安裝redmine_sidekiq插件,它也解決了這個問題。
UPDATE-2:創建了可以解決問題的sidekiq gem fork。請致電here。按照pull request中的說明操作。
希望這會有所幫助!
爲我挽救了一段非常漫長而悲傷的時光。謝謝! –
非常感謝你... –
它可能是'sidekiq'寶石。請參閱下面的答案。 – Devaroop