You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何正确翻译Rails链接的disable_with提示信息?

在Rails的link_to辅助方法中,给disable_with设置翻译文本时出现插值失败问题:点击按钮后,按钮显示的是#{i18n.t(:client_wait_message)}而非实际翻译内容,但在link_to块内的<%= t :client_loading_button_message %>却能正常输出翻译结果。

原代码

<%= link_to "launch_presentation_return_url",
        {
        data: {turbo: false, 
        disable_with: '<i class="fa fa-spinner fa-spin"></i>#{i18n.t(:client_wait_message)}'},
        class: 'btn btn-primary float-right',
        'data-toggle' => 'tooltip',
         'data-placement' => 'top',
         'title' => 'test',
          'data-original-title' => '',
                            } do %>
           <i class="fa fa fa-book"></i>
             <%= t :client_loading_button_message %>
             <% end %>

问题原因

原代码里disable_with被放在data哈希内部的单引号字符串中,Ruby的单引号字符串不会执行插值操作,所以#{i18n.t(:client_wait_message)}被当作纯文本直接输出,没有解析成翻译后的内容。

解决方法及修改后代码

将disable_with从data哈希中移出,改用data-disable-with作为独立的HTML选项键(Rails会自动识别这类data-*格式的选项),同时使用双引号包裹字符串以启用Ruby插值,确保t helper能正常解析翻译:

<%= link_to session.to_hash["api_request_params"]["launch_presentation_return_url"],
                       html_options =
                       {
                          data:
                            {
                              turbo: false
                            },
                          'data-disable-with' =>
                          "<i class='fa fa-spinner fa-spin'></i>#{t :client_loading_button_message}",
                          class:  'btn btn-primary float-right',
                          'data-toggle'    => 'tooltip',
                          'data-placement' => 'top',
                          'title'          => "#{t :client_loading_button_message}",
                          'data-original-title' => "",
                        } do %>
                            <i class="fa fa fa-book"></i>
                            <%= t :client_loading_button_message %>
                      <% end %>

内容的提问来源于stack exchange,提问作者Nick_K

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 02:18:19