2

我正在使用 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 方法也不起作用,它总是在数据库中创建新行。

这里可能是什么问题?

4

0 回答 0