1

我有一个@shows控制器,每个用户都可以在其中创建一个 Show ( Singular )。

在 Show Creation View ( shows/new ) 上,我想显示已经有多少节目的计数器。

我试过了:

def count
  @shows.all.count
end
# in my Shows Controller

然后呼吁<%= @count %>我的看法。但我想这不是正确的方法。

我尝试直接在我的视图上调用它:

<%= @shows.count %>

但这都不起作用。

有人可以帮我吗 ?

4

2 回答 2

2

@show_count = Show.count会做你的工作。

在你看来<%= @show_count%>

于 2013-09-12T12:35:41.103 回答
0

您需要new在控制器中的方法中创建 @count 变量或使用视图中的辅助方法

控制器版本

def new
    # your other code here

    @count = Shows.count
    # @count is now available in your view for `new`
end

你总是可以简单地<%= @shows.count %>在你的视图中调用。是的,你应该只在你的视图中做最少的代码,但这只是一个简单的调用,而不是一个做复杂事情的方法链,所以这样做是可以的。

给出的代码,我不能说为什么@shows.count在视图中不适合你。也许你忘了.all在你的控制器中添加?

于 2013-09-12T12:44:02.473 回答