【问题标题】:Rails I18n changes apostrophe to ASCIIRails I18n 将撇号更改为 ASCII
【发布时间】:2015-03-02 10:07:00
【问题描述】:

我正在使用responders gem,我想在表单无效时显示验证错误。在我的控制器中,我创建了interpolation_action

def interpolation_options
  { resource_errors: @project_user.errors.full_messages.join(', ') }
end

我的回复翻译文件有一个正确的密钥:

project_users:
  create:
    notice: "Member has been added"
    alert: "%{resource_errors}"

效果很好,我可以看到验证错误消息,问题是撇号被更改为 ASCII 代码。

【问题讨论】:

    标签: ruby-on-rails internationalization responders


    【解决方案1】:

    Responder 是否仍需要您在 html 中添加 flash?在这种情况下,您可以执行<%= flash[:alert].html_safe %> 之类的操作来在您的 Flash 消息中强制使用 html,即使对于转义字符也是如此。

    【讨论】:

    • 这有潜在的危险。如果你这样做,你必须确保你手动转义所有可能显示在 flash 中的用户提供的数据(例如“'foo bar baz' 不是有效的 Flurb”)。如果您未能手动转义值,则存在 XSS 漏洞。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-05-25
    • 2015-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多