Ruby on rails rails如何基于当前区域设置显示搜索结果

Ruby on rails rails如何基于当前区域设置显示搜索结果,ruby-on-rails,forms,locale,Ruby On Rails,Forms,Locale,Rails应用程序正在检测页面中的不同区域设置,并正确显示,但索引页面中搜索表单的结果除外 我的路线: get 'search' => 'mymodel#show' 我的控制器: def search if @mymodel = mymodel.find(params[:id]) else redirect_to mymodel_path end end 我的搜索部分(每个区域设置一个,并正确检测): 搜索显示正确的结果,但始终使用默认区域设置“英语”。 它不会检测当

Rails应用程序正在检测页面中的不同区域设置,并正确显示,但索引页面中搜索表单的结果除外

我的路线:

 get 'search' => 'mymodel#show'
我的控制器:

def search
 if @mymodel = mymodel.find(params[:id])
 else 
  redirect_to mymodel_path
 end
end
我的搜索部分(每个区域设置一个,并正确检测):


搜索显示正确的结果,但始终使用默认区域设置“英语”。 它不会检测当前正在使用的区域设置

我有不同的显示页面基于地区。它们在整个应用程序中正常工作,但在显示搜索表单的结果时除外

如何在正确的区域设置中显示结果?
感谢您的帮助,我想不出如何执行此操作….

在您的
路由中。rb
文件更改搜索方法路由,如下所示:

scope "(:locale)" do
  get 'search' => 'mymodel#show'
end

我成功地为每个区域设置创建了一个新视图、一个新操作和一个新路由。 因此,我现在为每个区域设置了不同的部分、视图、路线和操作


绝对不是干法,但它很有效

Emu的解决方案在您更改

<%= form_tag("/search", method: "get") do %>


谢谢,但这对我不起作用。它将保持以默认语言环境英语呈现show操作。我在左上角的主徽标链接上也遇到了类似的问题,我使用来自不同区域设置布局的class=“navbar brand”href=“/mymodel?locale=es”修复了它。我能做点像这样的事吗?怎样?
<%= form_tag("/search", method: "get") do %>
<%= form_tag("/"+I18n.locale.to_s+"/search", method: "get") do %>