NoMethodError - 未定义的方法'更新'对于InlineTextStorage:Class

时间:2014-06-25 11:26:34

标签: ruby-on-rails ruby-on-rails-4

我遇到方法update的问题。当我在控制器中给他打电话时,我失败了NoMethodError - undefined method 'update' for InlineTextStorage:Class 可能是什么原因?

class StaticAreasController < ApplicationController
  def update
    @static_area = InlineTextStorage.update("key", "value")
  end
end

class InlineTextStorage
  def update(key, value)
    inline_text = StaticArea.find_by_key!(key)
    inline_text.text = value
    @@texts[key] = value
    update_cache
  end
end

1 个答案:

答案 0 :(得分:0)

您正在尝试将实例方法作为类方法调用。您必须在名称中添加self.

class InlineTextStorage
  def self.update(key, value)
    inline_text = StaticArea.find_by_key!(key)

这种方法可以从班级访问。