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