2012-04-28 14 views
2

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

答えて

2

私はそれはので、それはあなたの他のフィールド(doc)として、ID photo[album_id]selectを生成する

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

されるべきだと思います。

+0

答えをありがとう。しかし、その値をfオブジェクトにどのように追加できますか?私はf.selectのような他の質問に何かを見ました。私はこれでこれを動作させることができます。 – tmaster

+0

'f.select(:album_id、Album.all.collect {| a | [a.name、a.id]}'はあなたが探しているものかもしれません – user1015523

+0

ああ、あなたが今何を意味しているか分かります。他の分野と同じように合格しました。 – tmaster

関連する問題