【问题标题】:How to make :confirm in link_to working with I18n.t() in Rails 3.2?如何在 Rails 3.2 中与 I18n.t() 一起使用 link_to 中的 :confirm?
【发布时间】:2014-06-12 04:18:06
【问题描述】:

下面的:confirm会弹出一个窗口询问'删除记录吗?':

<%= link_to t('Delete'), misc_definition_path(@misc_definition), :method => :delete, :confirm => 'Delete the record?'

如果在消息中添加I18n.t(),但是确认窗口不会弹出:

<%= link_to t('Delete'), misc_definition_path(@misc_definition), :method => :delete, :confirm => I18n.t('Delete the record?')

尝试了“#{I18n.t()}”但不工作。有没有办法消息可以是 I18n.t?谢谢。

【问题讨论】:

  • 那个 I18n 密钥存在吗?如果不是,我想它会呈现一些非常无效的 HTML,这会阻止代码按预期工作。
  • 语法没问题,所以它应该是你的钥匙。现在,总的来说,我建议再次使用“删除记录?”之类的键。我会将“messages.confirm_delete”之类的内容作为键...
  • 你们俩都是对的! yml中没有key。

标签: ruby-on-rails ruby-on-rails-3 link-to


【解决方案1】:

语法正确。

试试这个 - 在 config/locales/*.yml 中添加一些键 confirm_delete: '删除记录'

将此键用作-

<%= link_to t('Delete'), misc_definition_path(@misc_definition), :method => :delete, :confirm => I18n.t('confirm_delete') %>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-12-10
    • 1970-01-01
    • 1970-01-01
    • 2021-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多