0

Ich versuche Playlist-Datensätze basierend auf der Dropdown-Auswahl zu erstellen. Ich werde dies in ein Bootstrap-dividiert, sobald es funktional ist. Für jetzt habe ich ein Dropdown und einen Link. Der Link macht das Ding, erstellt ein neues Playlist-Objekt mit den Werten aus dem Video, auf das es geklickt wurde, alles ist ein PORO, bis es als Playlist-Objekt hinzugefügt wird, wo das Video als Video-Objekt in der Datenbank gespeichert wird. Was ich tun möchte, ist, wenn Sie ein Video als Playlist-Obj hinzufügen möchten, dass Sie eine Liste der zugehörigen Playlist-Namen sehen. Wenn Sie auf den Namen klicken, tut es das gleiche wie die link_to, aber nimmt den Namensparameter mit, um den neuen Datensatz zu erstellen. Danke für jede Hilfe. PS. wenn Sie Tipps zur Anwendung des Bootstrap haben, die hilfreich zu schlecht sein würden: DDatensatz basierend auf collection_select dropdown erstellen

<%= form_tag :playlists, {action: 'create'} do %> 
     <%= collection_select :playlist, :name, current_user.playlists, :id, :name, class: 'dropdown-item' %> 
     <%= link_to 'Create Playlist', new_playlist_path(etag: video.etag, video_id: video.video_id, user_id: current_user.id, 
                 img_high: video.img_high, img_default: video.img_default, 
                 title: video.title, description: video.description), class: 'dropdown-item' %> 
<% end %> 

Im Grunde, was ich versuche zu tun ... in der Lage sein zu tun, was die link_to tut, sondern auch entlang nehmen Der Name der Wiedergabeliste

Antwort

0

Binden Sie an das Ereignis onchange des Wählens und lösen Sie das Formular aus, um es zu senden.

<%= collection_select :playlist, :name, current_user.playlists, :id, :name, class: 'dropdown-item', onchange: "this.form.submit()" %>

Hier ein Beispiel:

<form action="https://google.com/"> 
    <select name="q" onchange="this.form.submit()"> 
    <option value="abc">Option 1</option> 
    <option value="123">Option 2</option> 
    </select> 
</form> 
+0

P Oh süß! Ich hatte darüber gelesen, aber obwohl ich etwas JS brauchte und nach einer Lösung suchte, die das nicht hatte. Zumindest für dieses Feature. Ich werde es jetzt versuchen. –

+0

Nicht in der Lage, es funktioniert, auch nicht die Informationen weitergeben, die ich suche :( –

0

endlich in der Lage war, die vorbei an den params zu bekommen, ich habe noch einen Knopf zu benutzen, da nicht die onchange: bekommen konnte noch zu arbeiten.

 <%= form_tag :playlists, {action: 'create'} do %> 
      <%= hidden_field_tag :etag, video.etag %> 
      <%= hidden_field_tag :video_id, video.video_id %> 
      <%= hidden_field_tag :img_high, video.img_high%> 
      <%= hidden_field_tag :img_default, video.img_default %> 
      <%= hidden_field_tag :title, video.title %> 
      <%= hidden_field_tag :published_at, video.published_at %> 
      <%= hidden_field_tag :description, video.description %> 
      <%= hidden_field_tag :user_id, current_user.id %> 

     <%= collection_select :playlist, :name, current_user.playlists, :name, :name, {class: 'dropdown-item', onsubmit: 'this.form.submit()'} %> 
     <%= submit_tag 'Add', method: 'post' %> 

war nicht bewusst, dass ich dort die hidden_field_tag so verwenden könnte:

Verwandte Themen