ruby-on-rails - 为什么我不能从我的 Controller 内部访问我的模型中定义的这个方法?

标签 ruby-on-rails ruby ruby-on-rails-3 debugging

我的视频 Controller 中有这个方法:

def notifications
  erase_notification_count
end

它调用我的用户模型中定义的 erase_notification_count 方法:

def erase_notification_count
  new_notification_count += (self.notifications.count * (-1))
end

这是我得到的错误:

NameError in VideosController#notifications

undefined local variable or method `erase_notification_count' for #<VideosController:0x102f0fed0>

为什么会出现此错误?我该如何解决?

最佳答案

您在 User 模型上定义了 erase_notification_count,这意味着您必须在 User 对象上调用它。您正在尝试直接在 VideosController 对象上调用它。

关于ruby-on-rails - 为什么我不能从我的 Controller 内部访问我的模型中定义的这个方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5917929/

相关文章:

ruby-on-rails - CSS 样式设计 Ruby on Rails

mysql - 如何在ruby中获取表名数组

internationalization - Rails 3 I18n label_tag 翻译

css - Rails CSS 不加载 Ruby 2.0

ruby-on-rails - RoR,Tire和Elasticsearch

ruby - 我如何在我的 Rakefile 中声明这种依赖关系?

ruby-on-rails-3 - Rails 将两个对象组合成一个结果哈希

ruby-on-rails - rails 3,如何在组中设置 user.role#create 操作

css - 粘性页脚不会粘在动态 Rails 内容下面

jquery - 如何在rails 3中实时显示日志更新?