2012-05-27 3 views
0

Я хочу метод вДобавления несамоходного метода рельсов к классу

class User < ActiveRecord::Base 
    def global_user_id 
    User.find_by_username("Global_User").id 
    end 
end 

который возвращает текущий глобальный идентификатор пользователя. Я хочу, чтобы он запускался с использованием User.global_user_id, а не что-то вроде User.new.global_user_id

Как мне это сделать?

Мне нужен идентификатор пользователя в других моделях, и прямо сейчас его застряли в ресурсах класса, которые я не считаю лучшим местом.

ответ

4

Ключ self. от имени, это означает, что эта функция является статической, привязанной к классу, а не экземпляром.

class User < ActiveRecord::Base 
    def self.global_user_id 
    find_by_username("Global_User").id 
    end 
end 
+0

Спасибо! Теперь все возвращается ко мне ... как побочный я подумал, что могу сделать def global_user_id Tallboy

+0

В этом случае вам также не нужен 'User.' в вызове метода, так как вы уже в правильной области. –

+0

@ Андрю: Да, вы правы. – Matzi

Смежные вопросы