Rails 4 中的“store_”方法有啥作用?
Posted
技术标签:
【中文标题】Rails 4 中的“store_”方法有啥作用?【英文标题】: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 中重现它?
【问题讨论】:
我认为填写“…”可能对这个问题有很大帮助 【参考方案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
以上是关于Rails 4 中的“store_”方法有啥作用?的主要内容,如果未能解决你的问题,请参考以下文章