代码之家  ›  专栏  ›  技术社区  ›  jameshfisher

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

  •  8
  • jameshfisher  · 技术社区  · 14 年前

    刚开始学习Rails(3)。我正在绞尽脑汁试图找到如何做一些可能非常琐碎的事情:从模型的方法内部访问模型实例字段的值。

    就我而言:

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

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

    令人难以置信的是,如何访问字段目前还没有讨论 http://guides.rails.info/ ,而谷歌却一无所获。

    3 回复  |  直到 14 年前
        1
  •  10
  •   Jacob Mattison    14 年前

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

    你只需要

    def formal_name
      title + " " + forename + " " + surname
    end
    
        2
  •  0
  •   igorw    14 年前

    self.<field> 因为模棱两可。

        3
  •  0
  •   Meduza    14 年前
    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