Ruby on rails 4 @冥想.count在文件夹中工作,但不在其他地方使用
视图/冥想/_count.html.erbRuby on rails 4 @冥想.count在文件夹中工作,但不在其他地方使用,ruby-on-rails-4,Ruby On Rails 4,视图/冥想/_count.html.erb <p><small><%= @meditations.count %></small></p> 我尝试将呼叫更改为: <%= render partial: "/meditations/count", object: @meditations %> 我终于得到了我想要的,但我认为我在主页上这样做违反了某种法律: <p><%= Meditations.cou
<p><small><%= @meditations.count %></small></p>
我尝试将呼叫更改为:
<%= render partial: "/meditations/count", object: @meditations %>
我终于得到了我想要的,但我认为我在主页上这样做违反了某种法律:
<p><%= Meditations.count %> </p>
我应该怎么做才能使部分工作
我得到一个错误:
undefined method `count' for nil:NilClass
nil:NilClass的未定义方法“count”
任何时候当你看到nil类的undefined u___;时,它就是b/c,你在说一些你认为有价值的东西,但它是nil。换句话说,@mediatations
将以零的形式出现
所以检查你的控制器。在与此页面匹配的方法中,确保您有类似于@冥想=冥想的内容
最后,yes-冥想。count
是从视图调用db。非常糟糕的做法。基本上打破了MVC。效果很好,谢谢。是否有其他方法可以做到这一点,例如在主页上的调用中声明变量?(它正在工作,所以我不打算更改它;只是想知道另一种方法。在那之前,我从未见过修改目标控制器以放置部分的指令。是因为它是对计数而不是参数的调用吗?MVC的方法是在控制器中建立所有变量。视图是应该尽可能地沉默(没有逻辑或调用).控制器用于业务逻辑和繁重工作。模型用于访问数据库。掌握了上述内容后,请查看胖模型/瘦控制器流。它基本上意味着在控制器中获取一组逻辑,并将其提取到Models文件夹中的普通Ruby对象中
<p><%= Meditations.count %> </p>