我試圖通過PARAMS通過使用搜查得到一個形式,它通常會正常工作。處理複雜的GET PARAMS在軌
控制器(使用ransack)
def index
@search = Record.ransack(params[:q])
@records = @search.result.page(params[:page])
end
視圖
<ul>
<% Genre.all.each do |genre| %>
<% category_count = @search.result.joins(:genre).where("genres.id = ?", genre.id).size %>
<% unless category_count == 0 %>
<li>
<%= link_to genre.name, params.merge(:"q[genre_name_eq]" => genre.name) %> (<%= category_count %>)
</li>
<% end %>
<% end %>
</ul>
但一直收到重複:正確
q[genre_name_eq]=Rockabilly&q[genre_name_eq]=Rockabilly
在不將q []它所管理的參數,可以覆蓋前一個。
也試過params[:q].merge(:genre_name_eq)
這會導致問題時,有沒有Q [],它也只是不工作,給我genre_name_eq=
並沒有Q []
如何還能怎麼處理Q [],使它取代了價值而不是多次重複?
你可以粘貼PARAMS和params.merge(
q
: 「q [genre_name_eq]」=> genre.name)? – AnandVeeramaniOK,更新了更多的細節。 – ere