Rails:从模型方法访问字段值

刚开始学习Rails(3)。 我正在试图找出如何做一些可能完全无关紧要的事情:从模型中的方法内部访问模型实例的字段的值。

就我而言:

def formal_name @title + " " + @forename + " " + @surname end 

所有三个@properties(数据库中表的所有字段)都返回nil 。 他们不应该。

令人难以置信的是, http://guides.rails.info/中没有讨论如何访问字段,谷歌也没有任何内容。

顺便说一句,我来自Django,这个东西很明显。

@语法用于实例变量(例如)在控制器中填充,然后在视图中使用。 不是你在这里做的。

你其实只是需要

 def formal_name title + " " + forename + " " + surname end 

你必须省略@,你可以通过getter方法访问它们。 在某些情况下,由于含糊不清,您必须使用self.

 class MyModel << ActiveRecord def formal_name title = self.title # return title attribute of instance forename = self.forename surename = self.surname # or something like this self.title + self.surename end end