Я хочу использовать find_or_create_by, но этот оператор НЕ работает. Он не «находит» и «не создает» с другими атрибутами.
productproperty = ProductProperty.find_or_create_by_product_id(:product_id => product.id, :property_id => property.id, :value => d[descname])
Похоже, что очень мало или нет информации об использовании динамических искателей в Rails 3. "и", если все это вместе, дает мне неизвестную ошибку метода.
UPDATE:
Первоначально я не мог заставить работать следующее. Пожалуйста, предположите, что я не идиот, а "product" является экземпляром модели Product AR.
product.product_properties.find_or_create_by_property_id_and_value(:property_id => 1, :value => "X")
Методы ошибки:
no such keys: property_id, value
Я не мог этого понять. Только сегодня утром я нашел ссылку на передачу значений следующим образом:
product.product_properties.find_or_create_by_property_id_and_value(1, "X")
И вуаля, все отлично работает. Я бы ожидал, что хеш будет работать в той же ситуации, но я думаю, что нет.
Так что, я полагаю, вы получите отрицательный голос, если что-то пропустите в интернете?