嗨,我是新的 ruby on rails 我需要了解一些有关如何从控制器调用函数到模型的基本信息
例如:- 控制器名称:检查
def create
@data = Checking.check()
end
型号名称为 Checking
def check
@a="xxxxx"
end
我如何从控制器功能调用模型功能
嗨,我是新的 ruby on rails 我需要了解一些有关如何从控制器调用函数到模型的基本信息
例如:- 控制器名称:检查
def create
@data = Checking.check()
end
型号名称为 Checking
def check
@a="xxxxx"
end
我如何从控制器功能调用模型功能
检查是实例方法,您必须使类方法按类名调用,def self.check end
我们可以使用两种格式从控制器调用模型方法,
1. 创建单例方法。单例方法是使用 self 关键字创建的。例子
class Check < ActiveRecord::Base
def self.check
end
end
we can call this singleton method using following format,
@checks = Check.check
2. 创建实例方法。实例方法是使用没有 self 关键字创建的
class Check < ActiveRecord::Base
def check
end
end
we can call this singleton method using following format,
@check =Check.new
@checks = @check.check
似乎您指的是静态函数调用。在 ruby 中,静态函数用self
.
def self.check
a="xxxxx"
end
但是,在 Rails 中,您不应该在模型中填充实例变量。在这种情况下,您可以从check
函数返回值并将其分配给控制器函数,例如
def self.check
return "xxxxx"
end
#In controller
@data = Checking.check() # "xxxxx" will be stored in @data
但是,定义任何函数而不self
意味着它是一个实例函数。因此,您需要通过该类的任何对象调用该函数。