ruby on rails تمرير الحجج في النطاق



ruby on rails tutorial (2)

استخدام نطاقات lambda:

scope :default_permissions_for, lambda{|user| { :conditions => { :user_id => user.id, :is_default => true } }

كن حذرًا لعدم تمرير المعلمة إلى lambda عندما تتوقع أن يثير أحد استثناءً.

يمكن للشخص تقديم مثال على كيفية استخدامها

scope

والمعلمات؟

فمثلا:

class Permission < ActiveRecord::Base
  scope :default_permissions, :conditions => { :is_default => true }
end

لدي هذا الرمز الذي يقوم بإرجاع default_permissions وأريد تحويله لإرجاع الأذونات الافتراضية لمستخدم معين (user_id)

شكر


Answer #1

بناء الجملة الجديد (روبي 1.9+) ، من شأنه أن يمنع الأخطاء حتى لو لم تقم بتزويد المستخدم -

scope :default_permissions_for, ->(user = nil) { ... }




ruby-on-rails-3