Nano Hash - криптовалюты, майнинг, программирование

Вложенный атрибут Rails не обновляет модель, но параметры верны

У меня есть вложенная форма, которая не будет обновляться по какой-либо причине, и обновление не выдается, а параметры формы кажутся правильными.

Проблема в атрибутах medium_prices_attributes.

Вот параметры:"store"=> {"style_price_list_attributes"=> {"frame_low_cost"=>"4.00", "frame_middle_cost"=>"5.00", "frame_high_cost"=>"6.00", "id"=>"53", "color_styles_avail"=>"true", "frame_avail"=>"true", "stretcher_bars_75"=>"5.00", "stretcher_bars_75_avail"=>"true", "stretcher_bars_1_25"=>"5.00", "stretcher_bars_1_25_avail"=>"false", "stretcher_bars_1_5"=>"5.00", "stretcher_bars_1_5_avail"=>"true", "stretcher_bars_1_75"=>"5.00", "stretcher_bars_1_75_avail"=>"false" }, "shipping_price_list_attributes"=> {"shipping_prices"=>{"minimum_price"=>"5.00", "price_for_print_only"=>"7.00", "price_wrapped"=>"", "price_framed"=>""}, "id"=>"52"}, "medium_prices_attributes"=> {"0"=>{"price_per_sq_ft"=>"10.00", "id"=>"2458"}, "1"=>{"price_per_sq_ft"=>"10.00", "id"=>"2466"}, "2"=>{"price_per_sq_ft"=>"10.00", "id"=>"2467"}, "3"=>{"price_per_sq_ft"=>"99", "id"=>"2457"}, "4"=>{"price_per_sq_ft"=>"99", "id"=>"2459"}, "5"=>{"price_per_sq_ft"=>"111.00", "id"=>"2465"}}, "medium_availabilities_attributes"=> {"0"=>{"id"=>"4005"}, "1"=>{"id"=>"4006"}, "2"=>{"id"=>"4010"}, "3"=>{"id"=>"4009"}, "4"=>{"id"=>"4011"}, "5"=>{"id"=>"4012"}}, "page_attributes"=> {"name"=>"Store22", "headline_text"=>"Store", "id"=>"1124"}, "paypal_email"=>"", "currency"=>"USD", "default_sizes"=>"6x8"}, "page"=>{"online_status"=>"true", "pswd"=>"", "active_billboard_id"=>"", "title"=>"Store", "meta_keywords"=>"", "meta_description"=>"", "slug"=>"store", "script_head"=>"", "script_body"=>""}, "id"=>"123"}

Мой store.rb имеет:

attr_accessible :medium_prices_attributes

has_many :medium_prices

accepts_nested_attributes_for :medium_prices

Как вы можете видеть в моих параметрах, атрибуты style_price_list_attributes и shipping_price_list_attributes есть, и они корректно обновляются. Проблема только со средними ценами.

Когда я пытаюсь обновить атрибуты в консоли, я получаю «истинный» ответ, однако значение этой записи medium_price не меняется. Например:

Store.find(163).update_attributes("medium_prices_attributes"=>{"1"=>{"price_per_sq_ft"=>"122.00", "id"=>"2457"}})

(0.2ms)  BEGIN
(0.5ms)  UPDATE "stores" SET "updated_at" = '2013-12-12 15:19:24.042735',         "default_sizes" = '---
- 6x8
' WHERE "stores"."id" = 123
   (0.3ms)  COMMIT
=> true

Спасибо!

12.12.2013

Ответы:


1

После долгих потрясений оказалось, что я

has_many :medium_prices

дважды указанный в моей модели магазина. Список был довольно длинным, поэтому я не уловил его в то время. Rails не выдает ошибку, так что это было трудно отследить.

12.12.2013
  • Была такая же проблема в унаследованной модели. Мне понадобилось несколько часов, чтобы найти. Благодарю вас! :) 30.01.2017
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..