2

名前や説明など、他の情報を含む写真をユーザーがアップロードするためのフォームがあります。2つのデータベーステーブルがあります。1つはでalbums、もう1つはです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オブジェクトに追加されていないと思います。したがって、[アップロード]をクリックして値が渡されると、名前、説明、写真が1つのオブジェクトとしてalbum_id渡され、が別のオブジェクトとして渡されます。どのように選択をfオブジェクトにすることができますか?

4

1 に答える 1

2

私はそれがすべきだと思います

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

したがって、他のフィールド(docselect )と同様に、idを使用してを生成します。photo[album_id]

于 2012-04-28T14:13:59.303 に答える