2012-04-28 51 views
2

我有一個表單,供用戶上傳帶有其他信息(如名稱和說明)的圖片。我有兩個數據庫表:一個是albums,另一個是photos。在照片表格中有一個名爲album_id的字段,它將照片連接到相冊。Rails,如何從下拉列表中傳遞選定值與表單中的其他值相同

<%= 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對象?

回答

2

我覺得應該是

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

因此,這將產生一個id photo[album_id]一個select,因爲你的其他領域(doc)。

+0

感謝您的回答。但是,我怎樣才能將這個值添加到f對象中。我在其他問題上看到了類似f.select的內容。但我可以使它與此工作。 – tmaster 2012-04-28 14:37:45

+0

'f.select(:album_id,Album.all.collect {| a | [a.name,a.id]}'可能是你在找什麼? – user1015523 2012-04-28 14:44:45

+0

哦,我明白你的意思了,所以它會通過與其他領域一樣,並且工作,感謝一百萬。 – tmaster 2012-04-28 14:44:46

相關問題