根据 collection_select 下拉菜单创建记录
create record based on collection_select dropdown
我正在尝试根据下拉选择创建播放列表记录。一旦功能正常,我将把它放在 bootstrap 分开的下拉列表中。现在我有一个下拉菜单和一个 link。 link 执行此操作,使用点击视频的值创建一个新的播放列表对象,一切都是 PORO,直到添加为播放列表对象,视频作为视频对象保存到数据库中。我想要做的是,如果您想将视频添加为播放列表对象,您会看到相关播放列表名称的列表。当您单击名称时,它会执行与 link_to
相同的操作,但会使用名称参数来创建新记录。谢谢你的帮助。
PS。如果您有实施 bootstrap 的技巧,那也很有帮助 :D
<%= 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 %>
基本上,我想做的是...能够做 link_to
正在做的事情,但也可以使用播放列表名称
绑定到 select 的 onchange
事件并触发它的表单提交。
<%= collection_select :playlist, :name, current_user.playlists, :id, :name, class: 'dropdown-item', onchange: "this.form.submit()" %>
这是一个例子:
<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>
终于能够传递参数,我仍然必须使用按钮,因为无法使 onchange:
工作。
<%= 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' %>
不知道我可以在那里使用 hidden_field_tag
:P
我正在尝试根据下拉选择创建播放列表记录。一旦功能正常,我将把它放在 bootstrap 分开的下拉列表中。现在我有一个下拉菜单和一个 link。 link 执行此操作,使用点击视频的值创建一个新的播放列表对象,一切都是 PORO,直到添加为播放列表对象,视频作为视频对象保存到数据库中。我想要做的是,如果您想将视频添加为播放列表对象,您会看到相关播放列表名称的列表。当您单击名称时,它会执行与 link_to
相同的操作,但会使用名称参数来创建新记录。谢谢你的帮助。
PS。如果您有实施 bootstrap 的技巧,那也很有帮助 :D
<%= 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 %>
基本上,我想做的是...能够做 link_to
正在做的事情,但也可以使用播放列表名称
绑定到 select 的 onchange
事件并触发它的表单提交。
<%= collection_select :playlist, :name, current_user.playlists, :id, :name, class: 'dropdown-item', onchange: "this.form.submit()" %>
这是一个例子:
<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>
终于能够传递参数,我仍然必须使用按钮,因为无法使 onchange:
工作。
<%= 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' %>
不知道我可以在那里使用 hidden_field_tag
:P