如何在rails应用程序中通过javascript引用yaml文件中的字符串?
我需要安装一些东西才能让它工作吗 我有一个Rails应用程序,它利用用haml编写的视图和一些基于javascript的小部件 我已经通过引用en.yml文件抽象了haml文件中的所有字符串。(很快,每种语言都会有一个yml文件,非常令人兴奋!)如何在rails应用程序中通过javascript引用yaml文件中的字符串?,javascript,ruby-on-rails,yaml,Javascript,Ruby On Rails,Yaml,我需要安装一些东西才能让它工作吗 我有一个Rails应用程序,它利用用haml编写的视图和一些基于javascript的小部件 我已经通过引用en.yml文件抽象了haml文件中的所有字符串。(很快,每种语言都会有一个yml文件,非常令人兴奋!) 剩下的字符串只有javascript小部件中的字符串。我怎样才能抽象出这些?有语法吗?我需要宝石吗?我真的不知道如何查找它,因为我不确定我是否用正确的编程术语描述了它。您可以预处理任何javascript文件,只需在文件名后面附加.erb或.haml
剩下的字符串只有javascript小部件中的字符串。我怎样才能抽象出这些?有语法吗?我需要宝石吗?我真的不知道如何查找它,因为我不确定我是否用正确的编程术语描述了它。您可以预处理任何javascript文件,只需在文件名后面附加
.erb
或.haml
例如,如果您有如下内容:
// app/assets/javascript/main.js
console.log('some text');
// app/assets/javascript/main.js.erb
console.log("<%= j I18n.t('some.text') %>");
// config/locales/en.yml
en:
some:
text: Some text
您可以将其本地化如下:
// app/assets/javascript/main.js
console.log('some text');
// app/assets/javascript/main.js.erb
console.log("<%= j I18n.t('some.text') %>");
// config/locales/en.yml
en:
some:
text: Some text
//app/assets/javascript/main.js.erb
控制台日志(“”);
//config/locales/en.yml
嗯:
一些:
文本:一些文本
或者,您可以查看。您可以预处理任何javascript文件,只需在文件名后附加
.erb
或.haml
例如,如果您有如下内容:
// app/assets/javascript/main.js
console.log('some text');
// app/assets/javascript/main.js.erb
console.log("<%= j I18n.t('some.text') %>");
// config/locales/en.yml
en:
some:
text: Some text
您可以将其本地化如下:
// app/assets/javascript/main.js
console.log('some text');
// app/assets/javascript/main.js.erb
console.log("<%= j I18n.t('some.text') %>");
// config/locales/en.yml
en:
some:
text: Some text
//app/assets/javascript/main.js.erb
控制台日志(“”);
//config/locales/en.yml
嗯:
一些:
文本:一些文本
或者,您可以查看。javascript yaml解析器您需要解析yaml并使用js获取字符串。。var doc=jsyaml.load('问候语:hello\nname:world');javascript yaml解析器您需要解析yaml并使用js获取字符串。。var doc=jsyaml.load('问候语:hello\nname:world');我今天要试试这个。谢谢(对假期延迟表示抱歉,谢谢你)一旦我测试了这个,我会评论结果,同时,我会假设你是正确的。谢谢您需要使用javascript转义/引用帮助程序,否则您的文本(如果包含
“
)将产生错误。您是对的,我已更正了答案。有关javascript转义的更多参考信息,请参见:我今天将尝试此功能。谢谢!!(很抱歉假期延迟,谢谢)一旦我测试了这个,我会用结果进行评论,同时,我会假设你是正确的。谢谢!!你需要使用javascript转义/引用帮助程序,否则你的文本(如果包含“
)会产生错误。你是对的,我已经更正了答案。有关javascript转义的更多参考可在此处找到: