2012-02-27 41 views
2

该应用程序返回的基础上在我的路线变量名的记录数在我的应用程序变量模型名。所以,如果我有一个“人”模式和“驾驶”模式(或任意数量的其他的人),我希望能够分配任何这些给一个变量,并从它那里得到的结果。需要允许使用RoR的

我已经试过:

@model = params[:model] 
@model.find(:all).count 

,我得到的错误:

undefined method `find' for "Person":String 

感谢您的帮助!

+3

仅供参考,你应该做'Person.count',而不是'Person.find的(:所有).count'。第一种方法使用'select count(*)',第二种方式将整个表格查询到内存中。 – meagar 2012-02-27 21:44:17

回答

5

试试这个:

@model = params[:model].constantize 
@model.find(:all).count 

Constantize把一个字符串中的常数。

+0

谢谢!工作! – astuttle 2012-02-27 21:40:36

+0

不客气!请记住将此回答标记为答案,以便其他具有相同问题的人员一眼就能知道它已成功回答。 – MrDanA 2012-02-27 21:41:43