【问题标题】:Setting a locale for an ajax request in Rails 3在 Rails 3 中为 ajax 请求设置语言环境
【发布时间】:2012-02-15 15:45:20
【问题描述】:

我想知道有没有一种优雅的方式来在 ajax 请求中传递语言环境。我有一个自动完成字段,它应该只采用给定语言的值。

coffeescript 是这样的:

  ...
  $('#post_name').autocomplete
        source: "/ajax/posts"
  ...

我希望来源类似于:“/en/ajax/posts”或“/he/ajax/posts”或其他。

当然我可以在会话中保留一个变量,甚至(更糟)通过隐藏的输入传递它。

请推荐?

【问题讨论】:

    标签: ruby-on-rails ajax autocomplete internationalization locale


    【解决方案1】:

    您可以将您的文件重命名为 coffee.erb,以便在咖啡之前由 ruby​​ 处理它(用

    括住您的 ruby​​ 代码

    【讨论】:

    • 不客气。 I18n-js 是另一门学科,你必须在 stackoverflow 上创建一个新问题
    • 最佳实践仍然是在 dom 的数据字段中添加正确的 url。
    • 看起来唯一的问题 - .js.cofee.erb 文件只被处理一次,因为它在资产中...... :)
    【解决方案2】:

    经过一番思考,编写语言环境并在每个请求上生成 js 并不是一个好的解决方案。我正在考虑@apneadiving 建议

    【讨论】:

    • 我面临同样的问题,我想知道@apneadiving 的解决方案会是什么样子。谁能指定?
    • 这意味着您应该在javascript中添加前缀。 like 而不是 source: "/ajax/posts" do source: "/en/ajax/posts" 或其他语言前缀,这是 erb 对吗?
    • 好的,知道了,谢谢。但是我怎样才能动态获取语言环境,这样我就不必在那里硬编码了?
    猜你喜欢
    • 1970-01-01
    • 2012-01-18
    • 1970-01-01
    • 1970-01-01
    • 2015-03-20
    • 1970-01-01
    • 1970-01-01
    • 2011-07-17
    • 1970-01-01
    相关资源
    最近更新 更多