Hidden_​​field标签从表单选择中获取id

时间:2014-12-18 18:48:17

标签: ruby-on-rails

我有以下代码,我想拍摄所选照片(从下拉列表中)并将其传递给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来源并开始运行圈子,因为我很快就把自己搞糊涂了...如果你碰巧知道这个的好消息来源我也非常感谢链接。

1 个答案:

答案 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())