在我的索引页面之一中,我有kaminari分页。在同一页面上,我还可以通过form_with处理create动作。新记录将按名称保存在原位,因此可能处于分页中间。问题是-创建操作后可以直接重定向到此页面吗?
答案 0 :(得分:1)
是的,您可以在保存记录后添加重定向,例如在本示例中,我们正在创建一个case_file,保存后,我们使用case_file的ID重定向到索引。
def create
@case_file = CaseFile.new(case_file_params)
if @case_file.save
redirect_to case_files_path(to_record: @case_file.id), notice: "#{I18n.t 'created'}"
else
render :new
end
end
然后在我们的索引控制器上,找到已保存记录的索引并计算页面,就像这样
def index
page = 1
if (params[:page])
page = params[:page]
elsif (params[:to_record])
index = CaseFile.order(:name).pluck(:id).index(params[:to_record])
page = index/CaseFile.default_per_page + 1 # or if you don't have the default per model, just put the value or get the general default one
end
@case_files = CaseFile.all.order(:name).page(page)
end