rails 3 acceptpts_nested_attributes_for не работает при сохранении - PullRequest
1 голос
/ 23 октября 2011

Я объявил accepts_nested_attributes_for и все работает нормально, но только когда я сохраняю модель в базе данных, вложенная модель не сохраняется вместе с основной моделью, кто-нибудь знает почему? В моем файле log / development.log:

Started POST "/users/1/business_infos" for 127.0.0.1 at 2011-10-22 23:08:59 -0500
  Processing by BusinessInfosController#create as HTML
  Parameters: {"utf8"=>"✓", "authenticity_token"=>"Vw9GWH4cnr8z+PPged0mal/CVsbdBM1NcDehRb7zl7Q=", "business_info"=>{"business_name"=>"microsoft", "locations_attributes"=>{"0"=>{"address"=>"New York, NY"}, "1"=>{"address"=>""}, "2"=>{"address"=>""}}, "business_hours"=>"5am-7pm, Mon - Fri", "business_logo"=>#<ActionDispatch::Http::UploadedFile:0xa219684 @original_filename="rails.png", @content_type="image/png", @headers="Content-Disposition: form-data; name=\"business_info[business_logo]\"; filename=\"rails.png\"\r\nContent-Type: image/png\r\n", @tempfile=#<File:/tmp/RackMultipart20111022-28086-fbv7x6>>, "business_phone"=>"6666666666", "business_web_addr"=>"www.microsoft.com"}, "commit"=>"Create", "user_id"=>"1"}
  [1m[36mUser Load (0.3ms)[0m  [1mSELECT "users".* FROM "users" WHERE "users"."id" = ? LIMIT 1[0m  [["id", "1"]]
  [1m[35mSQL (4.9ms)[0m  INSERT INTO "business_infos" ("business_addr", "business_hours", "business_logo", "business_name", "business_phone", "business_web_addr", "confirmed", "created_at", "multi_location", "qr_code", "updated_at", "user_id") VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)  [["business_addr", nil], ["business_hours", "5am-7pm, Mon - Fri"], ["business_logo", "/assets/business_logo/microsoft.png"], ["business_name", "microsoft"], ["business_phone", "6666666666"], ["business_web_addr", "www.microsoft.com"], ["confirmed", nil], ["created_at", Sun, 23 Oct 2011 04:08:59 UTC +00:00], ["multi_location", nil], ["qr_code", nil], ["updated_at", Sun, 23 Oct 2011 04:08:59 UTC +00:00], ["user_id", 1]]
  [1m[36mBusinessInfo Load (0.2ms)[0m  [1mSELECT "business_infos".* FROM "business_infos" WHERE "business_infos"."user_id" = 1 LIMIT 1[0m
  [1m[35m (1.0ms)[0m  UPDATE "business_infos" SET "qr_code" = '/assets/qr_code/microsoft.png', "updated_at" = '2011-10-23 04:09:00.314348' WHERE "business_infos"."id" = 8
Redirected to http://localhost:3000/users/1
Completed 302 Found in 613ms

если вы видите Parameters в журнале, там содержится location_attributes (модель местоположения), которая является вложенными атрибутами для модели business_info, но если вы видите запрос INSERT INTO "business_infos", вставка в таблица местоположений! Я разместил более подробный вопрос по этой ссылке Режим Rails acceptpts_nested_attributes_ для правильной работы Есть подсказка?

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