在 Rails 4.2 应用程序中,我使用 globalize gem:
gem 'globalize', '~> 5.0.0'
gem 'globalize-versioning', '~> 0.1.0'
gem 'paperclip-globalize3', '~> 2.2.0'
我有Benefit
带有翻译字段的模型:
class Benefit < ActiveRecord::Base
translates :name
validates_presence_of :name
# other code
end
然后我尝试使用 Rails 控制台创建新记录:
Benefit.create!(name: 'test_name', display_order: 1)
我在日志中看到了下一个 SQL 查询:
INSERT INTO `benefits` (`display_order`) VALUES (1)
以 NULL 值记录在 DB 中的name
字段。当我注释掉translates
行时,所有数据都存储在数据库中。此代码在 Rails 3.2.21(globalize3 0.3.1 和回形针-globalize3 1.1.0)中运行良好。
此错误的外观可能是什么?