Что делает эта линия Rails 3? - PullRequest
2 голосов
/ 24 сентября 2010
  def self.source_root
    File.join(File.dirname(__FILE__), 'templates')
  end

Ответы [ 2 ]

3 голосов
/ 24 сентября 2010

Это означает, что вы можете вызвать Class.source_root для класса, и он вернет его путь с шаблонами, добавленными в конце.Допустим, у вас было

Class User
  def self.source_root
    File.join(File.dirname(__FILE__), 'templates')
  end
end

В каталоге приложения / модель /

Если вы звоните

User.source_root

Возвращается

"application/model/templates"
0 голосов
/ 24 сентября 2010

Используйте irb, чтобы увидеть, что он делает. Вы можете отлаживать переменные и проверять, что они делают.

Это метод класса, поэтому вы можете создать класс в irb и проверить, что он делает.

Запустите irb так: -

irb (основной): 001: 0> def self.source_root

irb (основной): 002: 1> File.join (имя_файла файла ( FILE ), «шаблоны»)

irb (основной): 003: 1> конец => ноль

irb (основной): 004: 0> класс Foo

irb (основной): 005: 1> def self.source_root

irb (основной): 006: 2> File.join (имя_файла файла ( FILE ), «шаблоны»)

irb (основной): 007: 2> end

irb (основной): 008: 1> end

=> ноль

irb (основной): 009: 0> Foo.source_root

=> "./templates"

irb (основной): 010: 0>

irb (основной): 010: 0> ФАЙЛ

=> "(irb)"

irb (main): 011: 0> File.dirname ( FILE )

=> "."

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...