当控制器获取一个对象时,Rails Pluralize不工作?

时间:2013-10-28 01:42:34

标签: ruby-on-rails methods

我一直在一个简单的Rails应用程序中进行一些测试。

在我的控制器中,我分配了一个像这样的实例变量:

@user = User.last

这是严格的测试 - 我没有充分的理由以这种方式拉最后一个用户。

在我看来,我使用pluralize方法来报告用户数量。当然,因为我使用的是User.last,所以只有一个。

在视图中,代码为<%= pluralize(@user.size, 'User') %>

运行时,应用程序会为size抛出NoMethodError。

在这种情况下,您会认为大小会报告1,但由于某种原因,它不会报告。

我很好奇为什么?

1 个答案:

答案 0 :(得分:1)

标题是虚假声明。 pluralize只是一个帮手,无论你在哪里使用它都无关紧要。

在您的情况下,@ user是一条记录。它没有size方法。确实如此。所以错误是预期的,没有错。