如何从 ransack 属性中获取人名

How do I get human names from ransack attributes

我正在使用 ransack 构建搜索表单:

<%= search_form_for @q do |f| %>

  <%= f.label :title_or_description_or_request_number_cont %>
  <%= f.search_field :title_or_description_or_request_number_cont %>

  <%= f.submit class: 'btn btn-info' %>
<% end %>

我的模型叫做 WorkRequest

此标签显示以下文本:

标题或描述或请求编号包含

我想在未找到任何内容时在页面输出中使用此文本 - 例如:

无法找到标题或描述或请求编号包含...

的工作请求

我希望使用 human_attribute_name 方法来检索文本,但是这两个:

WorkRequest.human_attribute_name :title_or_description_or_request_number_cont

WorkRequest.new.human_attribute_name :title_or_description_or_request_number_cont

输出:标题或描述或请求编号续

(结束 'cont' 而不是 'contains')

如果标签不使用 human_attribute_name,它如何构建其文本输出,我如何构建相同的文本?

我知道我可以简单地用 'cont' 代替 'contains',但我想要一个解决方案来修改文本输出以匹配任何搜查式搜索查​​询(例如以 _eq 结尾的查询)

我想我有解决办法:

context = Ransack::Context.for_class WorkRequest
text =    Ransack::Translate.attribute(
           :title_or_description_or_request_number_cont, 
           context: context
          )

输出:

标题或描述或请求编号包含