【发布时间】:2013-11-13 10:44:37
【问题描述】:
我有一个 Rails 4 应用程序,在索引页面上有一个搜索表单,它使用 Ransack 搜索记录。这一切都很好。但是,我想将搜索框移动到应用程序的标题中,从而将其移动到应用程序布局中。
但是,这当然会导致错误,因为 Ransack 搜索实例变量仅在该特定索引页面上可用。我该如何创建它?
【问题讨论】:
标签: ruby-on-rails ransack
我有一个 Rails 4 应用程序,在索引页面上有一个搜索表单,它使用 Ransack 搜索记录。这一切都很好。但是,我想将搜索框移动到应用程序的标题中,从而将其移动到应用程序布局中。
但是,这当然会导致错误,因为 Ransack 搜索实例变量仅在该特定索引页面上可用。我该如何创建它?
【问题讨论】:
标签: ruby-on-rails ransack
如果您的搜索总是针对同一个表,您可以在 ApplicationController 中使用before_filter。例如,如果搜索总是针对 users 表,那么 application_controller.rb 可能有:
before_filter :build_search
private
def build_search
@search = User.search(params[:q])
end
而users_controller.rb 可能有:
def index
@users = @search.result
end
【讨论】: