【发布时间】:2014-06-26 17:16:20
【问题描述】:
我正在使用非常有用的 has_scope gem。 我有一个通过在链接中传递范围创建的索引页面。
<%= user_collections_path(@user, got: true) %>
在那个索引页面上,我可以查询 current_scopes。
我在该页面上有一个非常标准的搜索表单,但使用它会返回没有任何范围的结果。
如何将 current_scopes 传递给搜索?我尝试使用隐藏字段,但无法正常工作。我想如果我可以通过链接传递范围,我应该能够以表格形式传递它们,但在谷歌搜索后我不确定这是真的。
搜索表单
<%= search_form_for @search, :html => {:method => :post} do |f| %>
<%= f.text_field :name_or_miniature_name_cont, class: "span3" %>
<%= f.submit "Search", class: "btn" %>
<% end %>
索引法
def index
@user = User.find_by_username(params[:user_id])
@search = apply_scopes(@user.collections).search(params[:q])
@search.sorts = 'created_at desc' if @search.sorts.empty?
@collections = @search.result.paginate(page: params[:page])
end
【问题讨论】:
-
嘿@Ossie 你解决过这个问题吗?我现在也有同样的要求
-
不高兴。令人沮丧。
-
嘿伙计遇到了同样的问题,并且已经能够使用新的 Ransack 功能解决它,检查我的答案,如果有帮助,请告诉我。
-
我现在无法测试,但我会的,谢谢!
标签: ruby-on-rails ruby-on-rails-4 named-scope has-scope