Rails,如何从下拉列表中传递选定的值与表单中的其他值一样

时间:2012-04-28 13:26:26

标签: ruby-on-rails drop-down-menu formhelper

我有一个表单供用户上传图片,其他信息如名称和描述。我有两个数据库表:一个是albums,另一个是photos。在照片表格中有一个名为album_id的字段,用于将照片连接到相册。

<%= form_for(@photo, :html => { :multipart => true }) do |f| %>
  <div>
    <div class='form_text'> Add Photo </div>
    <%= f.file_field :image %>
  </div>
  <div>
    <div class='form_text'> Name </div>
    <%= f.text_field :name %>
  </div>
  <div>
    <div class='form_text'> Description </div>
    <%= f.text_field :description %>
  </div>
  <div>
    <%= collection_select(:album, :album_id, Album.all, :id, :name, :prompt => true)  %>
  </div>
  <div>
    <%= f.submit 'Upload' %>
  </div>

所以我的问题是如何将album_id的选定值与其他值一样传递。也许我不够清楚,我认为选择没有添加到f对象中,所以当点击上传时值传递,名称,描述和照片作为一个对象传递,album_id被传递作为另一个对象。如何选择f对象?

1 个答案:

答案 0 :(得分:2)

我认为应该是

<%= collection_select(:photo, :album_id, Album.all, :id, :name, :prompt => true) %>

因此,它会生成一个标识为select的{​​{1}},作为其他字段(doc)。