Im Versuch, eine App mit Rails 4.Rails 4 - Einfaches Formular, Kokon Gem verschachtelte Felder - Fehlermeldungen
ich für verschachtelte Felder bin mit Kokon Juwel zu machen, so dass die Teilmenge Formen verschachtelt sind.
Ich benutze auch Bootstrap.
Ich habe Probleme, denn wenn es einen Fehler gibt, rendert meine Seite mit: "Bitte überprüfen Sie die folgenden Probleme:" Meldung, aber nichts ist markiert und ich kann nicht finden, wo der Fehler ist.
Wie kann ich verschachtelte Felder einrichten, um Fehler in der übergeordneten Seite anzuzeigen - oder sogar in der Teilform, die verschachtelt ist, wäre in Ordnung.
ich eine Reihe von partials in meiner primären Form verwenden,
Wenn ich versuche, das Profil (primär) Objekt zu bearbeiten, die ich in der Konsole sehen kann, dass das Update vorgelegt zu haben scheint, aber die Form macht wieder mit dem obigen Fehlermeldung (aber ohne Identifizierung, was der Fehler ist)
Started PATCH "/profiles/9" for ::1 at 2016-04-03 13:54:26 +1000
ActiveRecord::SchemaMigration Load (0.9ms) SELECT "schema_migrations".* FROM "schema_migrations"
Processing by ProfilesController#update as HTML
Parameters: {"utf8"=>"✓", "authenticity_token"=>"39DIH7j7LeX7bnUnLirqKHpVPZ7vxmeKN+Q==", "profile"=>{"title"=>"", "occupation"=>"", "working_languages"=>"", "external_profile"=>"", "overview"=>"", "byline"=>"", "industry_ids"=>[""], "personality_attributes"=>{"average_day"=>"", "fantasy_project"=>"", "preferred_style"=>""}, "addresses_attributes"=>{"0"=>{"unit"=>"", "street_number"=>"1", "street"=>"Martin Street", "building"=>"", "city"=>"London", "region"=>"UK", "zip"=>"EC1A2PG", "country"=>"UK", "time_zone"=>"Eastern Time (US & Canada)", "main_address"=>"1", "project_offsite"=>"0", "_destroy"=>"false", "id"=>"1"}}}, "commit"=>"Submit", "id"=>"9"}
User Load (1.3ms) SELECT "users".* FROM "users" WHERE "users"."id" = $1 ORDER BY "users"."id" ASC LIMIT 1 [["id", 9]]
Profile Load (0.5ms) SELECT "profiles".* FROM "profiles" WHERE "profiles"."id" = $1 LIMIT 1 [["id", 9]]
User Load (0.5ms) SELECT "users".* FROM "users" WHERE "users"."id" = $1 LIMIT 1 [["id", 9]]
(0.3ms) BEGIN
Industry Load (0.8ms) SELECT "industries".* FROM "industries" INNER JOIN "industries_profiles" ON "industries"."id" = "industries_profiles"."industry_id" WHERE "industries_profiles"."profile_id" = $1 [["profile_id", 9]]
Personality Load (0.5ms) SELECT "personalities".* FROM "personalities" WHERE "personalities"."profile_id" = $1 LIMIT 1 [["profile_id", 9]]
SQL (0.6ms) UPDATE "personalities" SET "profile_id" = $1, "updated_at" = $2 WHERE "personalities"."id" = $3 [["profile_id", nil], ["updated_at", "2016-04-03 03:54:26.755593"], ["id", 10]]
Address Load (0.8ms) SELECT "addresses".* FROM "addresses" WHERE "addresses"."addressable_id" = $1 AND "addresses"."addressable_type" = $2 AND "addresses"."id" = 1 [["addressable_id", 9], ["addressable_type", "Profile"]]
Profile Load (0.5ms) SELECT "profiles".* FROM "profiles" WHERE "profiles"."id" = $1 LIMIT 1 [["id", 9]]
User Load (0.7ms) SELECT "users".* FROM "users" WHERE "users"."id" = $1 LIMIT 1 [["id", 9]]
(0.3ms) ROLLBACK
Rendered users/_profileimgform.html.erb (6.2ms)
Industry Load (0.6ms) SELECT "industries".* FROM "industries"
Qualification Load (0.5ms) SELECT "qualifications".* FROM "qualifications" WHERE "qualifications"."profile_id" = $1 [["profile_id", 9]]
Rendered qualifications/_qualification_fields.html.erb (34.5ms)
Job Load (0.4ms) SELECT "jobs".* FROM "jobs" WHERE "jobs"."profile_id" = $1 [["profile_id", 9]]
Rendered jobs/_job_fields.html.erb (33.1ms)
Rendered personalities/_form.html.erb (6.6ms)
Vision Load (0.4ms) SELECT "visions".* FROM "visions" WHERE "visions"."profile_id" = $1 LIMIT 1 [["profile_id", 9]]
Rendered visions/_form.html.erb (8.5ms)
Address Load (0.3ms) SELECT "addresses".* FROM "addresses" WHERE "addresses"."addressable_id" = $1 AND "addresses"."addressable_type" = $2 [["addressable_id", 9], ["addressable_type", "Profile"]]
Rendered addresses/_address_fields.html.erb (262.2ms)
Rendered addresses/_address_fields.html.erb (53.3ms)
Rendered profiles/_form.html.erb (551.8ms)
Rendered profiles/edit.html.erb within layouts/profile (561.3ms)
Profile Load (0.4ms) SELECT "profiles".* FROM "profiles" WHERE "profiles"."user_id" = $1 LIMIT 1 [["user_id", 9]]
Rendered pages/_nav.html.erb (7.8ms)
Rendered pages/_footer.html.erb (1.5ms)
Completed 200 OK in 1908ms (Views: 1646.7ms | ActiveRecord: 29.7ms)
Für Kokon gem sieht der Adresse Form wie folgt:
<div class="nested-fields">
<div class="container-fluid">
<div class="form-inputs">
<div class="row">
<div class="col-xs-3">
<%= f.input :unit %>
</div>
<div class="col-xs-3 col-xs-offset-1">
<%= f.input :street_number %>
</div>
<div class="col-xs-3 col-xs-offset-1">
<%= f.input :street %>
</div>
</div>
<div class="row">
<div class="col-xs-3">
<%= f.input :building %>
</div>
<div class="col-xs-3 col-xs-offset-1">
<%= f.input :city %>
</div>
<div class="col-xs-3 col-xs-offset-1">
<%= f.input :region %>
</div>
</div>
<div class="row">
<div class="col-xs-3">
<%= f.input :zip %>
</div>
<div class="col-xs-3 col-xs-offset-1">
<!--f.country_select(:country, {selected: @profile.country_name}, {class: "form-control"}) -->
<%= f.country_select :country, priority: [ "Australia", "New Zealand", "United Kingdom" ] %>
</div>
<div class="col-xs-3 col-xs-offset-1">
<%= f.input :time_zone %>
</div>
</div>
<div class="row">
<div class="col-xs-3">
<%= f.input :main_address %>
</div>
<div class="col-xs-3 col-xs-offset-1">
<%= f.input :project_offsite %>
</div>
</div>
<div class="row">
<div class="col-md-6">
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<%= link_to_remove_association 'Remove this address', f %>
</div>
</div>
</div>
</div>
<div class = "debug" > <%= yield %> <%= debug(params) if Rails.env.development? %></div>
Dann in meinem Profil Form ich hinzufügen:
<%= link_to_add_association 'Add an address', f, :addresses, partial: 'addresses/address_fields' %>
Es ist frustrierend, weil ich keinen Indikatoren das, was sein der Fehler finden könnte, dass das Update von der Verarbeitung wird beendet.
Normalerweise zeigt/zeigt einfache Form Felder mit Fehlern an. Verwenden Sie benutzerdefinierte Validierungen? – nathanvda
nein. Ich bin nicht. Ich kann nicht herausfinden, warum es nur die Überschrift zeigt, die sagt "bitte Fehler unten sehen", aber dann keine Identifikation der Fehler – Mel
Sie können alle Validierungsfehler in der Ansicht explizit auflisten, aber sicher sein, auch über verschachtelt zu iterieren Attribute. Sie haben simple_fields_for-Anweisung in der Ansicht, um alle vorhandenen untergeordneten Elemente anzuzeigen? Es wäre hilfreich, wenn Sie etwas mehr Code zeigen würden :) (Modell und Ansicht) – nathanvda