我们已将应用程序升级到 Rails 7,现在我们遇到了 attr_encrypted gem 的问题。当我们尝试启动 Rails 服务器/控制台时,我们收到以下错误:
gems/ruby-3.0.2/gems/attr_encrypted-3.1.0/lib/attr_encrypted.rb:176:in `block in attr_encrypted': undefined method `[]=' for nil:NilClass (NoMethodError)
Run Code Online (Sandbox Code Playgroud)
如果我们恢复到 Rails 6,错误就会消失,有人遇到过同样的问题吗?
我们在创建新应用程序时遇到问题。我们有两种模式:套餐和产品,一个套餐有很多产品。我们需要创建一个可以批量创建包的控制器,因此我们开始使用允许批量创建的 activerecord-import gem。但问题是 gem 不允许使用嵌套属性来创建产品,这意味着我无法为每个包创建相应的产品。有没有人遇到过类似的问题或有任何潜在的优雅解决方案?
控制器的 JSON 类似于以下内容。
{
packages: [
{
weight: 'x',
products_attributes: [
{
code: x
},
{
code: x
}
]
},
{
weight: 'y',
products_attributes: [
{
code: y
},
{
code: y
}
]
},
]
}
Run Code Online (Sandbox Code Playgroud)