Rails函数或属性

时间:2014-01-26 00:38:46

标签: ruby-on-rails ruby ruby-on-rails-4

我对以下Ruby函数定义感到有点困惑。我是否声明了对象的功能或属性?

def project_params
  params.require(:project).permit(:name)
end

如果我宣布某项功能,project_params如何知道return结果?我习惯了被评估的内容,但似乎Rails会返回结果。

2 个答案:

答案 0 :(得分:3)

Ruby会自动返回方法中最后执行的表达式的结果。

答案 1 :(得分:1)

Ruby没有属性。对象只有(外部)方法,并且Ruby中的所有方法都将返回最后一个语句的值,除非您明确return

Ruby确实有实例变量,例如@foo@bar,但这些仅在内部访问。它们只是变量,其范围设置为实例。类变量,例如:@@foobar的范围限定在类中。

Ruby Programming Wikibook中有关于Ruby方法的一些很好的信息。

快乐的编码!