我正在使用find_or_create_by方法为MySQL数据库播种:
Translation.where(:locale => 'en', :key => 'A0000', :value => 'a').first_or_create
我正在使用i18n库中的翻译类。
相应的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不会出现像&#39; \ n&#39;,我只看到垃圾值,但我可以在日志文件中看到\ <\ n&#39; / p>
我猜测因为这些字符find_or_create_by方法也不起作用,所以它总是在数据库中创建新行。
这里可能出现什么问题?