Ruby on rails 在Rails中将删节语言转换为完整语言(英语)的更好方法是什么?
我需要从缩写中提取全称 我试着用简单的方法来做(不起作用)Ruby on rails 在Rails中将删节语言转换为完整语言(英语)的更好方法是什么?,ruby-on-rails,Ruby On Rails,我需要从缩写中提取全称 我试着用简单的方法来做(不起作用) 有什么更好的方法可以做到这一点?它不起作用,因为当赋值运算符应该是比较运算符时,您有一个比较运算符。看看这个: def long(lang) if lang == "en" lang = "English" elsif lang == "ru" lang = "Russian" ... end lang end 或者你可以让它更干净更短 def long lang map = {en: 'En
有什么更好的方法可以做到这一点?它不起作用,因为当赋值运算符应该是比较运算符时,您有一个比较运算符。看看这个:
def long(lang)
if lang == "en"
lang = "English"
elsif lang == "ru"
lang = "Russian"
...
end
lang
end
或者你可以让它更干净更短
def long lang
map = {en: 'English',
ru: 'Russian'}
map[lang.to_sym]
end
甚至更短(通过消除温度变量)
它不起作用,因为您有一个比较运算符,而赋值运算符应该是。看看这个:
def long(lang)
if lang == "en"
lang = "English"
elsif lang == "ru"
lang = "Russian"
...
end
lang
end
或者你可以让它更干净更短
def long lang
map = {en: 'English',
ru: 'Russian'}
map[lang.to_sym]
end
甚至更短(通过消除温度变量)
I18n
当前语言环境、可用语言环境等是符号,而不是字符串。所以你会有
def long(language)
case language
when :en
"English (symbol)"
when "en"
"English (string)"
else
"something else"
end
end
>> long(I18n.default_locale)
=> "English (symbol)"
如果你想按照你的意愿去做,你必须先把它转换成一个字符串
def long(language)
case language.to_s
when :en
"English (symbol)"
when "en"
"English (string)"
else
"something else"
end
end
>> long(I18n.default_locale)
=> "English (string)"
I18n
当前语言环境、可用语言环境等是符号,而不是字符串。所以你会有
def long(language)
case language
when :en
"English (symbol)"
when "en"
"English (string)"
else
"something else"
end
end
>> long(I18n.default_locale)
=> "English (symbol)"
如果你想按照你的意愿去做,你必须先把它转换成一个字符串
def long(language)
case language.to_s
when :en
"English (symbol)"
when "en"
"English (string)"
else
"something else"
end
end
>> long(I18n.default_locale)
=> "English (string)"
@Segio,当我将“en”传递到方法中时,它将给我“English”?应该这样做,是的。为什么不测试一下呢?我的代码
if@website.language==“Auto”@website.language=long”request.env['HTTP\u ACCEPT\u language'].scan(/^[a-z]{2}/)。首先“
我做错了什么。@Segio,当我将'en'传递到方法中时,它会给我'English'?应该这样做,是的。你为什么不测试一下呢?我的代码if@website.language==“Auto”@website.language=long”request.env['HTTP\u ACCEPT\u language']。扫描(/^[a-z]{2}/)。首先“
我做错了什么。