Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 4 @冥想.count在文件夹中工作,但不在其他地方使用_Ruby On Rails 4 - Fatal编程技术网

Ruby on rails 4 @冥想.count在文件夹中工作,但不在其他地方使用

Ruby 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

视图/冥想/_count.html.erb

<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>