Ich habe Mühe zu verstehen, was passiert, wenn ich mein großformatiges Formular speichere - keiner der Hstore-Parameter wird in der Datenbank gespeichert. Kann jemand darauf hinweisen, was ich für den offensichtlichen Fehler halte? (Ich habe getrimmt schnell viel von der Ausgabe, die es möglichst kurz zu halten.Rails 4.2.5, simple_form, hstore, verschachtelte Formulare - Hstest Hash nicht persistent beim Speichern
Es gibt keine Konsolenausgabe, und es ist nicht beschweren über unpermitted params oder nichts. equipment
Feld auf das discipline
Modell ist die hstore Spalte.
Aufgrund meiner starken params Einstellungen:
params.require(:profile).permit(
:id,
:user_id,
:gender,
:dob,
..snip..
disciplines_attributes: [
:id,
:profile_id,
:discipline_type,
:distance_in_meters_per_week,
..snip..
:equipment => [
:time_trial_bike,
:road_bike,
:turbo_trainer,
:watt_bike
]
]
Mein params:
Parameters: {"utf8"=>"✓", "authenticity_token"=>"XX", "profile"=>
{"gender"=>"male", "dob(1i)"=>"1927", "dob(2i)"=>"3", "dob(3i)"=>"14",
"disciplines_attributes"=>{"0"=>
{"discipline_type"=>"swimming", "distance_in_meters_per_week"=>"",
"equipment"=>
{
"pull_buoy"=>"true",
"paddles"=>"false",
"wetsuit"=>"true",
"fins"=>"false",
"tempo_trainer"=>"false"
}}},
"commit"=>"Create Profile"}
Dann ist mein inspizieren d resultierend profile_params von der Steuerung:
{"gender"=>"male", "dob(1i)"=>"1927", "dob(2i)"=>"3", "dob(3i)"=>"14", "height_in_meters"=>"",
"disciplines_attributes"=>{"0"=>{"discipline_type"=>"swimming", "distance_in_meters_per_week"=>"",
"equipment"=>{
"pull_buoy"=>"true",
"paddles"=>"false",
"wetsuit"=>"true",
"fins"=>"false",
"tempo_trainer"=>"false"}}
}
Kann mir jemand helfen zu verstehen, warum das Gerät Hash nicht in die Datenbank übernommen wird?
Discipline id: 148, profile_id: 50, discipline_type: "running", distance_in_meters_per_week: "", sessions_per_week: nil, time_per_session_in_minutes: nil, created_at: "2017-03-14 12:02:15", updated_at: "2017-03-14 12:02:15", equipment: nil>]