创建后,Rails重定向到与kaminari分页的记录页面

时间:2018-06-25 15:53:26

标签: ruby-on-rails kaminari

在我的索引页面之一中,我有kaminari分页。在同一页面上,我还可以通过form_with处理create动作。新记录将按名称保存在原位,因此可能处于分页中间。问题是-创建操作后可以直接重定向到此页面吗?

1 个答案:

答案 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