我有一个公司模型的表格:
<%= form_for(@company) do |f| %>
我还有一个fields_for部分来编辑导入关系:
<%= f.fields_for(:imports) do |builder| %>
公司has_many:进口 和 导入belongs_to:公司
我想使用Kaminari进行分页,但问题是,Kaminari需要从控制器返回的页面对象,如:
@imports = Import.where(:company_id => current_user.company.id).page(params[:page]).per(50)
这允许我使用Kaminari的分页方法:
<%= paginate @imports %>
可行,并在我的表单上显示页面链接,但是,它们显然没有链接到我的fields_for块。
我的问题是,如何用fields_for块完成分页? 我需要允许用户编辑导入模型的列表,并且可能有太多不适合在一个页面上,这就是为什么我要尝试分页。基本上我正在尝试为用户创建类似体验的电子表格。
我不需要使用Kaminari,但我使用的是Rails 3.1,它似乎是受欢迎的选择。
感谢您提供任何帮助。
答案 0 :(得分:0)
您也可以将'fields_for`与一组对象一起使用。
所以你可以做到
<%= f.fields_for(:imports, @imports) do |builder| %>
如果这回答了你的问题那么你已经完成了!但是,如果你想让它像一个“电子表格”一样,那么也许不是那么多。
问题在于,如果您每次进入新页面时都这样做,则会丢失所有已修改的imports
。
这样做可能更简单:
fields_for
并隐藏它们。 这样,当提交更改时,它将传递所有imports
及其更改,而不仅仅是当前页面。