2016-04-04 55 views
1

我有一個欄的形式(_form.html.erb)。將分頁添加到欄的形式

<div class= "form-group" style="overflow-y auto; height: 200px;"> 
    <p><strong>Associated Things </strong></p> 
    <% for thing in Thing.All %> 
    <div> 
     <%= check_box_tag "bigthings[thing_ids][]", thing.id, @bigthings.things.include?(thing) %> 
     <%= thing.name %> 
    </div> 
    <%end%> 
</div> 

我想添加一個分頁到這個複選框,這樣我的用戶就不必漫步在一長串的東西。

+0

梅根,是我的帖子是否有幫助?那是你在找什麼?讓我知道。我認爲使用自定義操作(使用我提到的控制器代碼)和視圖幫助程序上的遠程選項是您正在尋找的。 –

回答

0

使用像kaminariwill_paginate這樣的寶石。例如,使用第一我提到的,你應該改變你的控制器動作,並把這個代碼:視圖

@things = Thing.order(:order_col).page params[:page] 

然後你做:

<% for thing in @things %> 
... 
<%end%> 
<%= paginate @things %> 
+0

如果上面的代碼位於form_for @bigthing上,這個工作是否還會繼續? –

+0

那麼,我提到的代碼每次按下頁碼鏈接時都會遇到服務器(幫助器方法'<%= paginate @things%>'將打印給定的@things大小的可用頁面) - 如果那樣會影響您的表單您可以使用助手方法的ajax方法,該方法是'<%= paginate @things,:remote => true%>' –

+0

此外,您可以設置操作,在其中使用控制器代碼刷新頁面助手:'<%= paginate @things,:remote => true,:params => {:controller =>'foo',:action =>'bar'}%>'。 –