【问题标题】:What does the "store_" method do in Rails 4?Rails 4 中的“store_”方法有什么作用?
【发布时间】:2022-01-08 07:30:23
【问题描述】:

我正在将一个应用程序从 Rails 4.2 升级到 Rails 6。其中一个模型有这个

class Document < ActiveRecord::Base
    …
  skip_callback :save, :before, :store_document!, if: :skip_processing?

升级到 6 时,“:store_document!”抛出一个错误“”,在旧的 Rails 版本中没有抛出这个错误。 “store_document”不是我在任何地方定义的方法,所以我假设这是某种 Rails 的简写。我的问题是“store_xxx!”是什么意思?我如何在 Rails 6 中重现它?

【问题讨论】:

  • 我认为填写“…”可能对这个问题有很大帮助

标签: ruby-on-rails ruby-on-rails-4 callback ruby-on-rails-6


【解决方案1】:

这是 Active Record 中的store accessor

用法描述here

看起来它的参数在 Rails 6 中更改为

store_accessor(store_attribute, *keys, prefix: nil, suffix: nil)

所以我敢打赌你有一个

store :document

声明需要更新为正确语法的地方。

【讨论】:

  • 就我没有将任何参数传递给“store_document!”而言我在Rails 4的时候,不清楚Rails 6范式中的属性如何填写。
  • 你有这样的东西吗? store :document
猜你喜欢
  • 2013-06-10
  • 1970-01-01
  • 2013-01-10
  • 1970-01-01
  • 2018-09-05
  • 1970-01-01
  • 2015-08-09
  • 2020-12-08
  • 2022-01-01
相关资源
最近更新 更多