Frage

habe ich das folgende Formular für photo_album, die die verschachtelten Formen verwendet Merkmal der Schienen in die Fotos Speichern, während die photo_album aktualisieren. Und Probleme mit der Auswahl des Radiobutton Wertes. Ich will nur eines der Fotos der Lage sein, das Albumcover zu wählen, aber aufgrund der Art und Weise Schienen produziert Formelement-IDs und Namen, ich bin in der Lage alle Fotos als Album-Cover zu wählen. Gibt es eine Abhilfe?

<% form_for @photo_album do |f| %>
  <%= f.error_messages %>

  <% @photo_album.photos.each do |photo| %>
    <% f.fields_for :photos, photo do |photo_fields| %>
      <p>
       <%= image_tag url_for_image_column(photo, "data", :thumb) %>
      </p>
      <p>
       <%= photo_fields.label :title %> 
       <%= photo_fields.text_field :title %>
      </p>
      <p>
       <%= photo_fields.label :body %>  
       <%= photo_fields.text_area :body %>
      </p>
      <p>
       <%= photo_fields.radio_button :cover, "1" %>
       <%= photo_fields.label :cover, 'Album Cover', :class => 'option' %>  
       <%= photo_fields.check_box :_delete %>
       <%= photo_fields.label :_delete, 'Delete', :class => 'option' %> 
      </p>  
     <% end %>
   <% end %>

   <p>
     <%= f.submit @photo_album.new_record? ? 'Create' : 'Update' %>
    </p>
<% end %>  

Und Folgenden ist der HTML durch Schienen produziert für Radio-Buttons (die Teil des Problems ist):

<p>
 <input type="radio" value="1" name="photo_album[photos_attributes][0][cover]" id="photo_album_photos_attributes_0_cover_1"/>
 <label for="photo_album_photos_attributes_0_cover" class="option">Album Cover</label>  
 <input type="hidden" value="0" name="photo_album[photos_attributes][0][_delete]"/><input type="checkbox" value="1" name="photo_album[photos_attributes][0][_delete]" id="photo_album_photos_attributes_0__delete"/>
 <label for="photo_album_photos_attributes_0__delete" class="option">Delete</label> 
</p>
War es hilfreich?

Lösung

Ich würde vermuten, dass in diesem Fall Sie verwenden wollen würden radio_button_tag statt und verwendet die gleichen Namen.

Dies sollte in der Nähe sein - werden Sie noch brauchen, um herauszufinden, wenn Sie in wahr passieren soll:

<%= radio_button_tag "cover", photo.id, todo %>

Sie können auch in der Lage sein, den Namen mit dem radio_button Helfer zu spezifizieren, aber nicht ganz das Modell passen so radio_button_tag mehr Sinn für mich macht. - Ich verwechselt werden könnte

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top