ruby-on-rails – 用Ransack一次搜索多个模型
发布时间:2020-12-16 19:48:06 所属栏目:百科 来源:网络整理
导读:我的应用程序标题中有一个搜索表单,我想使用这个搜索表单来搜索应用程序中的多个模型. 例如像/ search?q = rails这样的请求可以通过Work,Project,User及其定义的属性等多个模型来触发搜索.我想使用Ransack,因为我已经在应用程序的不同区域使用了Work模型.
我的应用程序标题中有一个搜索表单,我想使用这个搜索表单来搜索应用程序中的多个模型.
例如像/ search?q = rails这样的请求可以通过Work,Project,User及其定义的属性等多个模型来触发搜索.我想使用Ransack,因为我已经在应用程序的不同区域使用了Work模型. 我想我不太明白Ransack,而且文档总是指出你必须定义@q = MyModel.search(params [:q]),以@@的形式使用它.有没有一种方法可以提前定义一个特定的模型?并传入参数名称,如search_form_for:q? 解决方法
好的,在提出问题后,答案突然出现在我的脑海里.
而不是search_form_for帮助器,我现在只需要使用form_tag帮助器,方法如下: <%= form_tag search_path,method: :get do %> <%= text_field_tag :q,nil %> <%= end %> 在搜索动作中我只是做: q = params[:q] @works = Work.search(name_cont: q).result @projects = Project.search(name_cont: q).result @users = User.search(name_cont: q).result 这对我有用我希望这也能帮助别人. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |