我正在使用 will_paginate gem,并尝试根据这个 RailsCast 实现 DataTables,并发现提供属性 total_entries 是个好主意,因为 will_paginate 显然不能很好地做到这一点。
所以我将此方法添加到我的类中,如下所示:
class Genotype < ActiveRecord::Base
attr_accessible :allele1, :allele2, :run_date
belongs_to :gmarkers
belongs_to :gsamples
def total_entries
@t = Genotype.count;
return @t
end
end
但是,当视图尝试加载时,我仍然会收到此错误(这是网络服务器响应的屏幕截图):
(7.6ms) SELECT COUNT(*) FROM "genotypes"
Completed 500 Internal Server Error in 96ms
NoMethodError (undefined method `total_entries' for nil:NilClass):
app/datatables/genotypes_datatable.rb:13:in `as_json'
app/controllers/genotypes_controller.rb:7:in `block (2 levels) in index'
app/controllers/genotypes_controller.rb:5:in `index'
显然,我在定义我的方法时一定做错了什么;但是什么?我对 Rails 太缺乏经验,无法摆脱这种情况......
提前致谢,
瑞克