我创建了一个功能,可以发布一条新闻,并使用页面创建者的语言。
以下是创建新闻的代码:
def add_news
locale = creator.language.blank? ? I18n.locale : creator.language
I18n.with_locale(locale) do
title = I18n.t('news.subject')
end
create_news({title: title})
end
这个功能很好用,新闻使用的语言非常不错。但有时会使用错误的语言。我已经阅读了i18n的源代码(https://github.com/svenfuchs/i18n/blob/master/lib/i18n.rb),对我来说,with_local函数不是线程安全的。我感到非常惊讶,因为我没有看到任何关于这个问题的帖子。
那么,你认为这个功能是否线程安全?如果不是,你知道其他解决方案吗?
谢谢,祝好
Eric