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

时间:2010-06-24 14:58:08

标签: ruby-on-rails ruby model field

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

就我而言:

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

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

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

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

3 个答案:

答案 0 :(得分:10)

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

你实际上只需要

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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