如何修复 "Undefined Method total_pages"
How to fix "Undefined Method total_pages"
我正在 Ruby On Rails 应用程序中设置搜索功能。我希望用户搜索特定主题并能够显示结果。但是,如果没有待处理的结果,它应该显示验证。
我目前尝试研究和添加不同的代码,例如添加 @topic.paginate(:page => 1, :per_page => 2)
试试这个:
Topic.tagged_with(params[:tag]).order(created_at: :desc).page(params[:page]).per(3)
topics_controller:
def index
if params[:search].present?
@topics = Topic.search(params[:search]).paginate(:page => params[:page], :per_page => 5)
flash[:notice] = "No records found based on the search." if @topics.blank?
else
@topics = Topic.all
flash[:notice] = "No records found in Database." if @topics.blank?
end
end
index.html.erb:
<div>
<%= will_paginate @topic, renderer: BootstrapPagination::Rails %>
</end>
我希望出现验证消息。但是,我有以下错误:
**未定义的方法`total_pages'
Error Screenshot
我理解这个错误是因为添加了分页,但不确定如何解决这个问题。
也许问题不在于您的分页,而在于您没有分页的 else
分支 @topics
。 Will_paginate 无法创建分页链接。
def index
if params[:search].present?
@topics = Topic.search(params[:search]).paginate(:page => params[:page], :per_page => 5)
flash[:notice] = "No records found based on the search." if @topics.blank?
else
@topics = Topic.all.paginate(:page => params[:page], :per_page => 5) #add this
flash[:notice] = "No records found in Database." if @topics.blank?
end
end
我正在 Ruby On Rails 应用程序中设置搜索功能。我希望用户搜索特定主题并能够显示结果。但是,如果没有待处理的结果,它应该显示验证。
我目前尝试研究和添加不同的代码,例如添加 @topic.paginate(:page => 1, :per_page => 2)
试试这个:
Topic.tagged_with(params[:tag]).order(created_at: :desc).page(params[:page]).per(3)
topics_controller:
def index
if params[:search].present?
@topics = Topic.search(params[:search]).paginate(:page => params[:page], :per_page => 5)
flash[:notice] = "No records found based on the search." if @topics.blank?
else
@topics = Topic.all
flash[:notice] = "No records found in Database." if @topics.blank?
end
end
index.html.erb:
<div>
<%= will_paginate @topic, renderer: BootstrapPagination::Rails %>
</end>
我希望出现验证消息。但是,我有以下错误:
**未定义的方法`total_pages'
Error Screenshot
我理解这个错误是因为添加了分页,但不确定如何解决这个问题。
也许问题不在于您的分页,而在于您没有分页的 else
分支 @topics
。 Will_paginate 无法创建分页链接。
def index
if params[:search].present?
@topics = Topic.search(params[:search]).paginate(:page => params[:page], :per_page => 5)
flash[:notice] = "No records found based on the search." if @topics.blank?
else
@topics = Topic.all.paginate(:page => params[:page], :per_page => 5) #add this
flash[:notice] = "No records found in Database." if @topics.blank?
end
end