2011-03-31 69 views
1

嗨 我想知道如何解決我與分頁寶石「Kaminari」有關的問題。Rails3 Kaminari未定義.all

對於我所瞭解的你不能分頁@user = User.all.page(5)?

但是如果我有這個代碼並想分頁,是否有可能或者是否需要更改代碼呢?

@price = Price.joins(:retailer, :retailer => :profile). 
    where(['product_id=? AND size_id=?', params[:prod_id], params[:si_id]]). 
    group(:retailer_id).order("SUM((prices.price * #{params[:amount].to_i}) + profiles.shippingCost)").all 

我收到現在,當applying.page(5)該代碼是

undefined method `page' for #<Class:0x000001023c4558> 

回答

1

你不需要.all因爲加入通話,哪裏,並可沿着組唯一,正在爲您返回符合您標準的對象數組。除去實例變量上的.all和call頁面(您可能想要將其重命名爲@pages或其他複數形式)。

+0

嗨,感謝您的回覆,我將代碼更改爲 @prices = Price.select(「'prices'。*」)。joins(:retailer,:retailer =>:profile)。 其中(['product_id =?AND size_id =?',params [:prod_id],params [:si_id]])。 ():((price.price *#{params [:amount] .to_i})+ profiles.shippingCost)「)。page(params [:page]) 但現在我收到此錯誤 – Philip 2011-03-31 15:53:59

+0

字段列表中的'retailer_id'列不明確:SELECT COUNT(*)AS count_all,retailer_id AS retailer_id FROM'prices' INNER JOIN' retailers' ON'retailers'.'id' ='prices'.'retailer_id' INNER INNER JOIN' profiles' ON'profiles'.'retailer_id' ='retailers'.'id' WHERE(product_id ='1'AND size_id ='3')GROUP BY retailer_id,retailer_id ORDER BY SUM((prices.price * 1) + profiles.shippingCost) – Philip 2011-03-31 15:54:35

+0

在視圖 – Philip 2011-03-31 15:55:12

相關問題