在我的Rails应用程序中,我习惯在许多地方使用如下语法,包括helpers / application_helper.rb:
def my_method(x,y)
return x+y
end
我也习惯于在我的应用程序的任何地方调用结果方法,使用如下语法:
my_method(2,3)
但是,我希望能够使用如下语法:
class_from_my_rails_app.my_method(3)
我如何以及在何处定义my_method以便我可以像这样使用它?
我很高兴参考文档,但我不知道后一种风格是什么。你怎么称呼它?
非常感谢,
史蒂芬。
答案 0 :(得分:1)
我认为你在谈论创建一个类方法。
class MyClass
def self.my_method(x,y)
return x+y
end
end
这允许你拨打
MyClass.my_method(2,3)
这可能属于模型类,而不是辅助类,轨道方式。
答案 1 :(得分:1)
您要创建的内容称为实例方法。实施如下:
class YourClass
def initalize(x)
@x =x
end
def do_something(y)
@x + y
end
end
您将使用以下内容:
my_class = YourClass.new(20)
puts my_class.do_something(10)
=> 30
但实际上这对面向对象编程和ruby来说是如此根本,我甚至对这个问题感到惊讶。
我建议阅读ruby作为一种语言,一本非常好的书,让你开始The Well-grounded Rubyist,从所有基础知识开始,并将其用于所有细节。
我希望这会有所帮助。如果我误解了你的问题,我道歉,并很乐意详述任何部分。