在方法名称之后具有“=(参数)”的方法的含义和用途是什么

时间:2013-02-01 05:58:45

标签: ruby-on-rails ruby ruby-on-rails-3

我的模块中有以下方法

def current_user
end

def current_user=(new_user)
end

我想知道的是current_user=(new_user)方法的用途是什么。 我也想知道以下事情 我们可以在模型,控制器中声明这样的方法 2.如何调用此类方法 3.此类事情的文档链接

1 个答案:

答案 0 :(得分:2)

默认情况下,ruby中的所有变量都是私有的。只能通过方法(通常称为geters和setter)访问它们。所以

def current_user
end

是getter和

def current_user=(new_user)
end

是setter

为了更好地理解,您可以阅读这篇文章: http://zetcode.com/lang/rubytutorial/oop2/

UPD:您可以在控制器,模型中使用的这些方法 - 在任何类