именованная область действия - передача параметров [: id] - PullRequest
1 голос
/ 15 мая 2011

В моем приложении на Rails я использую именованную область.

Я хочу знать, возможно ли передать параметр, такой как params [: id] или @ batch.batch_id, в именованную область.

image.rb:

named_scope :batch_images, lambda {
  { :conditions => ["IMG_BATCH = ?",@batch.batch_id ]
  }
}

В настоящее время приведенный выше код дает мне сообщение об ошибке «неопределенный метод« batch_id »для nil: NilClass.

Большое спасибо за вашу помощь

1 Ответ

9 голосов
/ 15 мая 2011
named_scope :batch_images, lambda {|batch| where("IMG_BATCH = ?", batch.batch_id) }

UPD для рельсов 3 + :

scope :batch_images, ->(batch) { where("IMG_BATCH = ?", batch.batch_id) }

Затем используйте Image.batch_images(your_batch)

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