Jac*_*uul 1 ruby pagination ruby-on-rails
我正试图在我的rails应用程序中使用will_paginate进行分页.
在我的控制器中我有
def index
params[:per_page] ||= 25
params[:page] ||= 1
@links = Link.order('created_at DESC').page(params[:page]).per_page(params[:per_page])
end
Run Code Online (Sandbox Code Playgroud)
在我看来,我有
<ul>
<% @links.each do |entry| %>
<li><%= link_to entry.title, entry.url %></li>
<% end %>
<ul>
<%= will_paginate @links %>
Run Code Online (Sandbox Code Playgroud)
我收到了错误
comparison of Fixnum with String failed
Extracted source (around line #8):
5: </h2>
6:
7: <ul>
8: <% @links.each do |entry| %>
9: <li><%= link_to entry.title, entry.url %></li>
10: <% end %>
11: <ul>
Run Code Online (Sandbox Code Playgroud)
我不知道为什么.我试过重启服务器.我错过了一些明显的东西吗
提前致谢.
我猜你有一个简单的"一切params都是字符串"问题,这可以解释为什么有人试图将Fixnum与String进行比较.页面和每页值应该是Fixnums但是,如果它们来自params,它们将是字符串.最简单的方法是to_i按照指示添加几个电话:
def index
params[:per_page] ||= 25
params[:page] ||= 1
@links = Link.order('created_at DESC').page(params[:page].to_i).per_page(params[:per_page].to_i)
#---------------------------------------------------------^^^^
#------------------------------------------------------------------------------------------^^^^
end
Run Code Online (Sandbox Code Playgroud)
在您尝试从中获取内容之前,不会评估paginate生成的查询,这就是为什么@links.each在模板中没有得到错误的原因.
| 归档时间: |
|
| 查看次数: |
672 次 |
| 最近记录: |