Hi,everybody I write a code like follow,the question was "paginate" has been drop until the rails 2.0,now we use "will_paginate" to replace it.But I don't know how to change my code to let it suitable.
The will_paginate’s paginate method creates both the instance variables and maintains them automatically. All you will need to do is :
@books = Book.paginage :page => parmas[:page], :per_page => 10, :include => [:authors, :publishers], :order => :id
You should check out railscasts.com episode 51, it demonstrates what you wish to do quite well.
Thanks & Regards, Dhruva Sagar.
Ted Turner - “Sports is like a war without the killing.”
try params[:page] instead of parmas[:page] Also if you have an error post the trace here
if we cant see the error … we cant see the problem
One thing that I forgot is that you will need to add the following to your view to create the page links
<%= will_paginate @books %>
Thanks & Regards, Dhruva Sagar.
Stephen Leacock - “I detest life-insurance agents: they always argue that I shall some day die, which is not so.”
Oh, thanks for pointing that out Adam, There is indeed a spellings mistake, it must be params[:page]
Thanks & Regards, Dhruva Sagar.
Marie von Ebner-Eschenbach - “Even a stopped clock is right twice a day.”
First,I want say sorry to Dhruva,because i didn’t write a test,it was a controller.When I run my Webrick and try to use controller like http://localhost:3000/catalog/index
it goes wrong,like this—>
C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/active_record/base.rb:1532:in `method_missing_without_paginate'
C:/Ruby/lib/ruby/gems/1.8/gems/mislav-will_paginate-2.3.11/lib/will_paginate/finder.rb:170:in `method_missing'
app/controllers/catalog_controller.rb:5:in `index'
So,what i do for thoes code
Ok it seems in a hurry to type I have made quite a few spelling mistakes, I will write it again (carefully) now, this is what you should have :
@books = Book.paginate :page => params[:page], :per_page => 10, :include => [:authors, :publishers], :order => :id
and in the view for the page links you will need :
<%= will_paginate @books %>
Please try the one I have mentioned above, this should work properly earlier I had misspelled paginate to paginage :-S. Sorry for those typos.
Thanks & Regards, Dhruva Sagar.
Mike Ditka - “If God had wanted man to play soccer, he wouldn’t have given us arms.”
It still goes wrong,
Now,we got a new problem,like this–>
When i change 'publishers' to 'publisher',now we got like follow
In the statement, it should be :order => ‘id’ and not :order => :id
Thanks & Regards, Dhruva Sagar.
Marie von Ebner-Eschenbach - “Even a stopped clock is right twice a day.”
We had got another failure–>
Hi,Dhruva
I had success with my code.Here is the code.
controller code–>
def index @page_title = “Book List” @books = Book.paginate :page => params[:page],
:per_page => 10, :include => [:authors, :publisher], :order => "[books.id](http://books.id) desc"
end view code →
Thanks a lot !You are good man.
Your welcome, glad it helped :).
Thanks & Regards, Dhruva Sagar.
Charles de Gaulle - “The better I get to know men, the more I find myself loving dogs.”