Kann mir da jemand helfen?
Ich bin im new.html.erb und möchte ein dropdown feld machen mit vorgaben
aus der db.
<select name="bild[album]" id="bild_album" class="dropdown">
<% alben= @alben.find(:all, :conditions => {:aktiv => 1} ) %>
<% alben.each do|album| %>
<option value="<%= album.id %>"><%= album.name %></option>
<% end %>
</select>
Dann bekomme ich immer den Fehler -->
wrong number of arguments (2 for 1)
Genau in der Zeile <% alben= @alben.find(:all, :conditions => {:aktiv =>
1} ) %>
Kann mir jemand sagen warum das so ist?
on 29.07.2008 16:19
on 29.07.2008 21:08
Hallo Rene,
Was ist bei dir @alben, denke mal das ist bei die ein Array mit
Objekten, du
rufst also ein find auf ein array auf, ist das gewollt? Ich denke nicht.
@alben = Alben.find(:all, :conditions => {:aktiv => 1} )
Willst du sowas haben?
Dann wäre das im controller besser aufgehoben als im View.
Herzliche Grüße und viel spaß beim Tüfteln und lernen,
Michael
Am 29.07.08 16:19 schrieb "Rene P." unter <lists@ruby-forum.com>:
on 30.07.2008 07:34
Ja richtig. Na ja gibt es den eine andere Lösung? ich bin ja gerade im new.html.erb bei den Bildern und möchte hier nur die Alben aufrufen welche noch aktiv sind. Was ich nur aus der Datenbank her kenne. bis jetzt habe ich das DropDown so gefüllt --> <% @alben.each do|album| %> <option value="<%= album.id %>"><%= album.name %></option> <% end %> Was ja auch super funktioniert nur habe ich eben auch die inaktiven dabei. Michael Voigt wrote: > Hallo Rene, > > Was ist bei dir @alben, denke mal das ist bei die ein Array mit > Objekten, du > rufst also ein find auf ein array auf, ist das gewollt? Ich denke nicht. > > @alben = Alben.find(:all, :conditions => {:aktiv => 1} ) > > Willst du sowas haben? > > Dann w�re das im controller besser aufgehoben als im View. > > Herzliche Gr��e und viel spa� beim T�fteln und lernen, > Michael > > > Am 29.07.08 16:19 schrieb "Rene P." unter <lists@ruby-forum.com>:
on 30.07.2008 07:40
OK sorry - ja danke. Hat sich schon erledigt. Habs im controller gemacht ist dort wirklich besser aufgehoben. Danke
on 30.07.2008 07:59
Hey Rene, du musst das select-field nicht selbst aufbauen. Rails hat dafür die FormHelper: einmal nur für die Options von einem select: http://www.railsbrain.com/api/rails-2.1.0/doc/index.html?a=M001936&name=options_for_select und einmal ein komplettes select mit options: http://www.railsbrain.com/api/rails-2.1.0/doc/index.html?a=M001932&name=select gruß Malte On Wed, 30 Jul 2008 07:40:27 +0200
on 30.07.2008 08:06
Du suchst dir dir gewünschten Alben im Controller:
@alben= Alben.find(:all, :conditions => {:aktiv => 1} )
In der View dann nur noch sowas in der Art:
<%= select(:alben, :id, @alben.collect{|a| [a.name, a.id]},
{:include_blank => false}) %>
Schau einfach mal in der Hilfe nach "select" und/oder
"options_for_select".
z.B. hier:
http://www.noobkit.com/show/ruby/rails/rails-stable/actionpack/actionview/helpers/formoptionshelper/select.html
Rene P. schrieb: