我有以下代码,我想拍摄所选照片(从下拉列表中)并将其传递给hidden_field
。集合选择是一组照片,我在@photos
中使用相同的变量hidden_field
。
<%= f.select :photo_id, options_from_collection_for_select(@photos, :id, :name), {include_blank: "- Select A Photo-"} %>
<%= f.hidden_field(:photo_id, value: @photos.id)%>
我意识到使用保存隐藏字段中所有照片的变量是不正确的,因为我不想要所有照片的ID ...但是我如何才能获得所选照片的ID?
我试着查看一些Rails来源并开始运行圈子,因为我很快就把自己搞糊涂了...如果你碰巧知道这个的好消息来源我也非常感谢链接。
答案 0 :(得分:0)
表单就像哈希一样,每个键只能有一个值。因此,如果您有两个输入字段都具有name="photo[photo_id]"
,那么后者将占优势。
我认为你想要做的是让hidden_field
成为值的载体,但是select字段是值的选择器。除了使用javascript,我想不出办法做到这一点。
<%= f.select_tag :photo_id...
<%= f.hidden_field :photo_id, value: current_selected_photo.id...
然后在javascript(coffeescript)中:
$ ->
$('select[name="photo_id"]').on 'change', ->
$('input[name="photo[photo_id]"').val($(@).val())