我有一个表单供用户上传图片,其他信息如名称和描述。我有两个数据库表:一个是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对象?
答案 0 :(得分:2)
我认为应该是
<%= collection_select(:photo, :album_id, Album.all, :id, :name, :prompt => true) %>
因此,它会生成一个标识为select
的{{1}},作为其他字段(doc)。