2

我有一个表格供用户上传带有名称和描述等其他信息的图片。我有两个数据库表:一个是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 对象?

4

1 回答 1

2

我认为应该是

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

所以它会生成一个select带有 id 的photo[album_id],作为你的其他字段(doc)。

于 2012-04-28T14:13:59.303 回答