Ruby on Rails жалуется на «Неизвестные параметры ключа»

#ruby-on-rails #ruby

#ruby-on-rails #ruby

Вопрос:

Я пытаюсь вызвать find с помощью ключа:params, используя вызов метода, который выглядит следующим образом:

 Product.find(:all, :params => { :name => "Test" })
  

Ошибка:

 ArgumentError: Unknown key(s): params
  

Вызов Product.find(:all) работает просто отлично, но когда я пытаюсь передать что-либо с помощью :params ключа, он выдает ошибку.

Ответ №1:

Если вы используете Rails 3.x, попробуйте:

 Product.where(:name => "Test")
  

Если Rails 2.x попытается:

 Product.find(:all, :conditions => { :name => "Test" })
  

Ответ №2:

Попробуйте использовать :conditions => { ... } вместо

Ответ №3:

 Product.where(:name => "Test" )
  

Я никогда не видел find с вложенным хэшем параметров. Ключ должен соответствовать вашему полю в базе данных.