Hi --

On Thu, 1 May 2008, Werner Laude wrote:


Am 01.05.2008 um 05:05 schrieb David A. Black:

Hi David..

danke f?r den Vorschlag..

bisher klappt es so:

begin

@result = User.find(:all, :conditions => ["#{params[:user][:zielgruppe]} = ?", 1])
rescue

Das rescue weil auch null Werte abgefangen werden sollen..

Was jetzt aber noch kommt ist, das ich ca 15-20 dieser Art Abfragen in die conditions einbauen mu?. Selects und Check Boxen.
Ich hatte die Idee das mit einem array zu machen.

:conditions => ["array1", array2]

Aber noch nichts konkretes wie diese arrays aufzubauen w?ren..nullwerte abfangen..

array1 ist aber vermuetlich ein echtes Array (und kein String).
Deswegen hatte ich geglaubt, dass "join" klappen wuerde:

 :conditions => [*params[:user][:zielgruppe]].join(" = 1 OR ")) + " = 1"

Wenn zB. man "jugend" und "erwachsene" waehlt, wird das Array
["jugend", "erwachsene"] dem Controller in params[:user][:zielgruppe]
geliefert, und folgendes SQL gebaut:

  SELECT * FROM things WHERE (jugend = 1 OR erwachsene = 1);


David

Sch?nen Feiertag..
Gru?





Hi --

On Wed, 30 Apr 2008, Werner Laude wrote:

Bevor ihr alle in den Mai tanzt..

Ich komme hier gerade nicht weiter. Vielleicht kann mir jemand eine Idee geben.

Die Tabelle hat chars f??r die Spalten Kinder, Jugendliche, etc.
also 1 oder 0 als Wert

Abfrage im Formular:
<%= f.select(:zielgruppe, [['Kinder', 'kinder'],
                          ['Jugendliche', 'jugend'],
                          ['Erwachsene', 'erwachsene'],
etc. etc.

Wie schreibe ich da am besten das find statement

@result = Model.find(:all, :conditions => [params[:zielgruppe] => true])
erhalte ich : undefined method `%' for {nil=>true}:Hash

OK, neue Idee:

Model.find(:all,
 :conditions => [*params[:zielgruppe]].join(" = 1 OR ")) + " = 1"

(Mit beliebiger SQL-reinigung.)

Und dazu, im View:

<%= select_tag("zielgruppe[]",
    options_for_select([['Kinder', 'kinder'],
                        ['Jugendliche', 'jugend'],
                        ['Erwachsene', 'erwachsene']]),
    :multiple => true) %>

oder aehliches.


David

--
Rails training from David A. Black and Ruby Power and Light:
INTRO TO RAILS         June 9-12            Berlin
ADVANCING WITH RAILS   June 16-19           Berlin
INTRO TO RAILS         June 24-27           London (Skills Matter)
See http://www.rubypal.com for details and updates!_______________________________________________
rubyonrails-ug mailing list
[email protected]
http://mailman.headflash.com/mailman/listinfo/rubyonrails-ug

Werner Laude
Lindenburger Allee 22  -  50931 K?ln

0221.8805 635

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

http://www.webagentur-laude.de

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~





_______________________________________________
rubyonrails-ug mailing list
[email protected]
http://mailman.headflash.com/mailman/listinfo/rubyonrails-ug

--
Rails training from David A. Black and Ruby Power and Light:
  INTRO TO RAILS         June 9-12            Berlin
  ADVANCING WITH RAILS   June 16-19           Berlin
  INTRO TO RAILS         June 24-27           London (Skills Matter)
See http://www.rubypal.com for details and updates!
_______________________________________________
rubyonrails-ug mailing list
[email protected]
http://mailman.headflash.com/mailman/listinfo/rubyonrails-ug

Antwort per Email an