Ответ 1
новый синтаксис (ruby 1.9+), который предотвратит ошибки, даже если вы не предоставите пользователю -
scope :default_permissions_for, ->(user = nil) { ... }
Может ли кто-нибудь указать пример использования
scope
и параметры?
Например:
class Permission < ActiveRecord::Base
scope :default_permissions, :conditions => { :is_default => true }
end
У меня есть этот код, который возвращает параметры default_permissions, и я хочу его преобразовать, чтобы вернуть разрешения по умолчанию для данного пользователя (user_id)
Спасибо
новый синтаксис (ruby 1.9+), который предотвратит ошибки, даже если вы не предоставите пользователю -
scope :default_permissions_for, ->(user = nil) { ... }
Использовать диапазоны лямбда:
scope :default_permissions_for, lambda{|user| { :conditions => { :user_id => user.id, :is_default => true } }
Будьте осторожны, потому что не передавайте параметр лямбда, когда он ожидает, что он вызовет исключение.