2011-01-15 4 views
0

私はこれと混同しています。私は会社のモデルとメッセージモデルを持っています。会社has_manyメッセージとメッセージはbelongs_to会社。私はこのフォームが保存されている適切な会社に保存されているデータに問題があります。フォームドロップダウンの選択関係

<%= form_for(@msg) do |f| %> 
    <%= render 'errors', :object => f.object %> 
    <ul class="fields"> 
     <li> 
     <%= select("msg", "company_id", Company.all.collect {|p| [ p.title, p.id ] }) %> 
     </li> 
    </ul> 
    <ul class="fields"> 
     <li><%= f.label :content, "Send this company your message" %></li> 
     <li><%= f.text_area :content %></li> 
    </ul> 
    <div id="actions"> 
     <%= f.submit "Send" %> 
    </div> 
<% end %> 

このフォームが保存されるたびに、company_idはnullです。保存するには、コントローラのための私のコードは

def create 
    @msg = current_user.messages.build(params[:msg]) 
    if @msg.save 
    flash[:success] = "New message saved" 
    redirect_to current_user 
    else 
    render current_user 
    end 
end 

何も誰かが正しい方向に私を導くことができ、これは、保存されていない理由として私に際立っていませんか?

Jeff

答えて

0

あなたのコントローラでは、現在の会社を見つける必要はありませんか?何かのように

@company = Company.find(params[:company_id]) 
@message = @Company.messages.create(params[:msg]) 

となります。限り、両方のユーザーと企業とhas_manyを混合する限り、このスレッドは良いようです。 Rails Model has_many with multiple foreign_keys

関連する問題