Mehrfachauswahl übermitteln?

ja hallo erstmal,…

ich stehe mal gerade wieder vor einem kleinen Problem:

Zwei Objekte (defects und holdings) stehen in einer habtm-Beziehung. Per
Ajax/JavaScript kann der Benutzer sich die Objekte herauspicken, die er
nutzen will.
Mein etwas naiver Ansatz war, die IDs zu übermitteln:

D.h. im Request für eine update-Action für einen defect steht irgend etwas
wie:
Parameters: {“commit”=>“Speichern”, “id”=>“2”, “defect”=>{“status”=>“Der
Status”, “reference”=>“123123”, “reporter”=>“Jan”, “holdings”=>[“3”,
“4”, “5”], “description”=>“Der
Testschaden”, “comment”=>“Der Schaden”, “doityourself”=>“0”}}

Der Controller baut das Objekt wie üblich
über:defect.update_attributes(params[:defect])
Ansonsten passiert nichts.

Also beschwert sich Rails mit:
ActiveRecord::AssociationTypeMismatch in DefectsController#update
-Holding
expected, got String.

Gibt es irgendeinen eleganten Weg um mit möglichst wenig Codeänderungen die
IDs direkt zu übermitteln? Wie müsste dann der request aussehen?

Am liebsten wäre mir, dies durch Umbennung des Input-Felds zu erreichen.
Derzeit sieht es so aus:

Habt ihr hier eine Idee?
Auf zusätzlichen Code im Controller oder Model würde ich gerne verzichten. da
dies die Anwendung aufbläht.

Danke,
Keep smiling
yanosz

Hallo Jan.

Am 18.11.2007 um 15:40 schrieb Jan L.:

die er

Am liebsten wäre mir, dies durch Umbennung des Input-Felds zu
erreichen.
Derzeit sieht es so aus:

hat sich erledigt - bin zufällig drüber gestolpert. Es muss heißen:

Richtig. Und wie’s beim Bearbeiten dann auch noch klappt zeigt Ryan
Bates:

Complex Forms I: #73 Complex Forms Part 1 - RailsCasts
Complex Forms II: #74 Complex Forms Part 2 - RailsCasts
Complex Forms III: #75 Complex Forms Part 3 - RailsCasts

Wenn man den Trick mit :index => nil und :id im hidden_field nicht
macht bekommt man einen ziemlich kryptischen Fehler.

Niko.


niko dittmann
gottfr.-keller-str. 36
78467 konstanz
GERMANY

mail: [email protected]
fon: +49 7531 959531
fax: +49 1212 512 852 148
aim: ende42


ja hallo erstmal,…

Am Sonntag, 18. November 2007 schrieb Jan L.:

ja hallo erstmal,…

ich stehe mal gerade wieder vor einem kleinen Problem:

Zwei Objekte (defects und holdings) stehen in einer habtm-Beziehung. Per
Ajax/JavaScript kann der Benutzer sich die Objekte herauspicken, die er
nutzen will.

hat sich erledigt - bin zufällig drüber gestolpert. Es muss heißen:

Keep smiling
yanosz

ja hallo erstmal,…

Am Sonntag, 18. November 2007 schrieb Niko D.:

IDs direkt zu übermitteln? Wie müsste dann der request aussehen?

Richtig. Und wie’s beim Bearbeiten dann auch noch klappt zeigt Ryan
Bates:

danke, ist mir bekannt. Nur hätte das Modifikationen am Modell gebraucht,
die
ich nicht durchführen wollte.

Keep smiling
yanosz