Ruby on rails rails 3中通用搜索的分页
我的数据库里有一百万条记录。我想用正则表达式实现一个通用搜索框,结果应该每页显示50个。我想实现分页Ruby on rails rails 3中通用搜索的分页,ruby-on-rails,ruby,Ruby On Rails,Ruby,我的数据库里有一百万条记录。我想用正则表达式实现一个通用搜索框,结果应该每页显示50个。我想实现分页 class TweetsController<ApplicationController def query @tweets =Tweets.where("%query%=?", params[:search]).all end end <%= form_tag({controller: "tweets", action:"query" }, method: "get
class TweetsController<ApplicationController
def query
@tweets =Tweets.where("%query%=?", params[:search]).all
end
end
<%= form_tag({controller: "tweets", action:"query" }, method: "get") do %>
<%= label_tag(:search, "search for:") %>
<%= text_field_tag(:search) %>
<%= submit_tag("Search") %>
<% end %>
classtweetscontroller您可以使用gem
为此,您首先添加
gem 'will_paginate'
到您的Gemfile
,然后运行bundle
。完成后,输入控制器:
class TweetsController < ApplicationController
def query
@tweets = Tweets.where("%query%=?", params[:search]).paginate(
page: params[:page], per_page: 50)
end
end
class TweetsController
在你看来:
<%= will_paginate @tweets %>
显示页面链接 另一个好的选择是使用Gem
您只需根据需要配置每页的默认设置即可。请阅读
在视图中,只需使用
<%= paginate @tweets %>
TweetsController说,我认为您的Tweet模型符合您的控制器
对will_paginate()使用分页
在控制器中的变化有点像
class TweetsController < ApplicationController
def query
@tweets = Tweet.where("field LIKE ?", "%#{params[:search]}%" ).paginate(
page: params[:page], per_page: 50)
end
end
class TweetsController
在视图中
<%= will_paginate @tweets %>
使用kaminari。这是个不错的选择。看看我的答案。它可能会帮助你。thks每一个它工作良好,但它没有显示一列称为“tweet_text”,其中包含搜索词,我的输出应该显示该列的全文,但它没有显示。任何人都可以帮助我。我尝试通过sql查找,但与paginate组合使用时无法工作。请在dis中帮助我。请提前帮我处理dis。它工作正常,但不显示全文,而全文是包含查询词的列之一。我的输出应该显示该列的全文。例如,如果我输入“sheep”,它将显示表中所有匹配的列,并在tweet_文本列中显示全文,但这不会发生。请帮助我。Iam坚持使用disthks每一个都很好,但它没有显示一个名为“tweet_text”的列,该列包含搜索词,我的输出应该显示该列的全文,但它没有显示。任何人都可以帮助我。我尝试通过sql查找,但与paginate组合使用时无法工作。请在dis中帮助我。我没有得到你的帮助。请发布有问题的推特模型。
<%= will_paginate @tweets %>