2

我有两种模式:自我评估和得分,其中自我评估has_many :scoresaccepts_nested_attributes_for :scores。新的自我评估表格可能有多达60个嵌套分数。我想要做的是对窗体内的嵌套属性字段实施分页。Will_paginate POST嵌套属性内表格

我试图实现它没有运气。

控制器

def new 
    @self_assessment = SelfAssessment.new 
    @scores = @self_assessment.scores.paginate(:page => params[:page], :per_page => 10, :total_entries=> @self_assessment.scores.size) 
end 

视图

<%= form_for @self_assessment do |f| %> 
    <h2>At home...</h2> 
    <% Category.where(at_home: true).each do |category| %> 
     <h3><%= category.title %></h3> 
     <% Act.where(category_id: category.id).each do |act| %> 
      <%= f.fields_for :scores, Score.new do |builder| %> 
       <%= builder.hidden_field :self_assessment_id, value: @self_assessment.id %> 
       <%= builder.select(:rank, scales_for_select(act), prompt: "-Select-") %> 
       <%= act.name %><br> 
      <% end %> 
     <% end %> 
    <% end %> 

    <h2>At work...</h2> 
    <% Category.where(at_work: true).each do |category| %> 
     <h3><%= category.title %></h3> 
     <% Act.where(category_id: category.id).each do |act| %> 
      <%= f.fields_for :scores, Score.new do |builder| %> 
       <%= builder.hidden_field :self_assessment_id, value: @self_assessment.id %> 
       <%= builder.select(:rank, scales_for_select(act), prompt: "-Select-") %> 
       <%= act.name %><br> 
      <% end %> 
     <% end %> 
    <% end %> 
    <%= will_paginate @scores, :params => { :method => :post } %> 
    <%= f.submit "Submit" %> 
+0

嗨你是如何实现这个请发布你的代码 – santosh

回答

1

我会建议尝试为paginations一些JavaScript的解决方案。尝试使用数据表。

退房此链接:http://datatables.net/examples/api/form.html

希望它能帮助。

+0

谢谢豪尔赫,我正在考虑javascript,但仍希望有人可以建议解决方案的服务器分页(或我自己找出) –

+0

你是否设法工作一个出来?我试图做同样的事情。干杯! – undefined