作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在将Rails应用程序从2.2.2升级到2.3.5。剩下的唯一错误是当我调用total_entries
创建jqgrid时。
错误:
NoMethodError (undefined method `total_entries' for #<Array:0xbbe9ab0>)
@route = Route.find(
:all,
:conditions => "id in (#{params[:id]})"
) {
if params[:page].present? then
paginate :page => params[:page], :per_page => params[:rows]
order_by "#{params[:sidx]} #{params[:sord]}"
end
}
respond_to do |format|
format.html # show.html.erb
format.xml { render :xml => @route }
format.json { render :json => @route }
format.jgrid {
render :json => @route.to_jqgrid_json(
[
:id, :name
],
params[:page],
params[:rows],
@route.total_entries
)
}
end
find
之后使用的块来使其工作。我还必须移动松鼠插件使用的
order_by
,因为我得到了一个未定义的方法调用。
conditions
,因此它比以前的代码要少DRY。有没有更好的方法可以用Rails 2.3.5,will_paginate和squirrel做到这一点?
if params[:page].present? then
@route = Route.paginate :conditions => "id in (#{params[:id]})", :page => params[:page], :per_page => params[:rows], :order => "`#{params[:sidx]}` #{params[:sord]}"
else
@route = Route.find(:all, :conditions => "id in (#{params[:id]})")
end
最佳答案
在Rails 2.3.5中,find(:all,...)调用将返回一个Array,通常这些数组没有与之关联的任何自定义方法,就像您可能通过作用域获得的那样。将块传递给查找调用也有些不规律,这可能是问题的一部分。
您可以通过创建一个查找所需内容的范围来解决此问题:
class Route < ActiveRecord::Base
named_scope :with_ids, lambda { |*ids| {
:conditions => { :id => ids.flatten }
}}
end
@routes = Route.with_ids(params[:id])
关于ruby-on-rails - 将Rails 2.2.2升级到2.3.5后的未定义方法“total_entries”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2850294/
我正在将Rails应用程序从2.2.2升级到2.3.5。剩下的唯一错误是当我调用total_entries创建jqgrid时。 错误: NoMethodError (undefined method
我有一个 will_paginate 的当前实现,它使用 paginate_by_sql 方法来构建要分页的集合。我们有一个针对 total_entries 的自定义查询,它非常复杂并且给我们的数据库
我是一名优秀的程序员,十分优秀!