我在一个页面中有两个列表,一个用于 model_1,另一个用于 model_2。当我单击列 meta_search 的 sort_link 时,发送参数“search[meta_sort]=column_name.asc”。问题出在控制器中,因为这两个模型使用相同的搜索参数进行过滤:
#in the controller
@search_for_model_1 = Model1.search(params[:search])
@model_1s = @search_for_model_1.all
@search_for_model_2 = Model2.search(params[:search])
@model_2s = @search_for_model_2.all
#in the view
<%= sort_link @search_for_model_1, :name %>
<%= sort_link @search_for_model_2, :name %>
sort_links 在不同的 html 表中,一个显示 model_1 字段,另一个显示 model_2 字段,当我单击任何列名链接时,我在控制器中获得的参数是 params [:search],我无法知道是否从 model_1 或 model_2 html 表中单击了列链接。
我想在控制器中将参数名称“search”更改为“search_for_model_name”:
#in the controller
@search_for_model_1 = Model1.search(params[:search_for_model_1])
@model_1s = @search_for_model_1.all
@search_for_model_2 = Model2.search(params[:search_for_model_2])
@model_2s = @search_for_model_2.all
我找不到使用 meta_search 提供的辅助方法 sort_link 更改参数名称的方法。或者有不同的方式来做到这一点?