Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/58.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/20.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 在Rails模型中调用方法时未定义的方法_Ruby On Rails_Ruby_Class_Methods - Fatal编程技术网

Ruby on rails 在Rails模型中调用方法时未定义的方法

Ruby on rails 在Rails模型中调用方法时未定义的方法,ruby-on-rails,ruby,class,methods,Ruby On Rails,Ruby,Class,Methods,当我从我的模型中调用某个方法时,我不断得到未定义的方法 class User < ActiveRecord::Base def update! request_info end def request_info return "hmmm" end end class用户“类方法” Foo.baz#=>NoMethodError:Foo:Class的未定义方法“baz” Foo.new.baz#=>实例方法 Foo.new.bar#=>NoMethodE

当我从我的模型中调用某个方法时,我不断得到未定义的方法

class User < ActiveRecord::Base
  def update!
     request_info
  end
  def request_info
     return "hmmm"
  end
end
class用户
请求更新中的\u信息!没有定义
我也尝试过让它成为self.request\u info,但这也不起作用

更新!方法名的选择不好:update已经在ActiveRecord::Base上定义为(私有)方法-这可能会导致混淆

>> u = User.last
>> u.update
NoMethodError: private method `update' called for #<User:0x007ff862c9cc48>

更新!方法名的选择不好:update已经在ActiveRecord::Base上定义为(私有)方法-这可能会导致混淆

>> u = User.last
>> u.update
NoMethodError: private method `update' called for #<User:0x007ff862c9cc48>

在rails中调用方法有两种方法

class Foo
  def self.bar
    puts 'class method'
  end

  def baz
    puts 'instance method'
  end
end

Foo.bar # => "class method"
Foo.baz # => NoMethodError: undefined method ‘baz’ for Foo:Class

Foo.new.baz # => instance method
Foo.new.bar # => NoMethodError: undefined method ‘bar’ for #<Foo:0x1e820>
class-Foo
def自我保护条
“类方法”
终止
def baz
放置“实例方法”
终止
终止
Foo.bar#=>“类方法”
Foo.baz#=>NoMethodError:Foo:Class的未定义方法“baz”
Foo.new.baz#=>实例方法
Foo.new.bar#=>NoMethodError:未定义的方法“bar”#

你也这么做吗?我已经从我的例子。查看该页面了解详细信息。

在rails中调用方法有两种方法

class Foo
  def self.bar
    puts 'class method'
  end

  def baz
    puts 'instance method'
  end
end

Foo.bar # => "class method"
Foo.baz # => NoMethodError: undefined method ‘baz’ for Foo:Class

Foo.new.baz # => instance method
Foo.new.bar # => NoMethodError: undefined method ‘bar’ for #<Foo:0x1e820>
class-Foo
def自我保护条
“类方法”
终止
def baz
放置“实例方法”
终止
终止
Foo.bar#=>“类方法”
Foo.baz#=>NoMethodError:Foo:Class的未定义方法“baz”
Foo.new.baz#=>实例方法
Foo.new.bar#=>NoMethodError:未定义的方法“bar”#

你也这么做吗?我已经从我的例子。查看该页面了解详细信息。

在调用某个用户之前,您是否正在执行该用户的实例?我的意思是
User.first.update你如何调用
更新?在调用某个用户实例之前,您是否正在执行该实例?我的意思是
User.first.update你如何调用
更新