我正在使用 find_or_create_by 方法来播种这样的 MySQL 数据库:
Translation.where(:locale => 'en', :key => 'A0000', :value => 'a').first_or_create
我正在使用 i18n 库中的 Translation 类。
而对应的MySQL表是这样的:
id: int(11)
locale: varchar(255)
key: varchar(255)
value: varchar(255)
全部都有字符集 'utf8' 和排序规则 'utf8_unicode_ci'。
但是,在我运行之后bundle exec rake db:seed
,我在“值”中看到了垃圾值,例如:
'--- a\n...\n'
'--- b\n...\n'
在 MySQL 工作台上,\n 没有像“\n”那样出现,我只看到垃圾值,但我可以在日志文件中看到 \n。
我猜测由于这些字符 find_or_create_by 方法也不起作用,它总是在数据库中创建新行。
这里可能是什么问题?