2012-11-20 40 views
2

我有兩種模式:用戶和公司。用戶屬於公司和公司has_many用戶。f.collection_select不工作rails 3(has_many/belongs_to)

當用戶在表單上註冊時,我希望有一個用戶可以選擇的公司列表,並且在創建用戶時創建與公司的關聯。

我覺得collection_select會是這個答案,它確實填充了公司名稱的下拉框,我可以選擇它們,但它不會傳遞給用戶表並創建關聯,Company_id列(外部鍵)保持空白。

如果我把f.collection_select我得到的錯誤:COMPANY_NAME:未定義的方法`合併」符號

我無法弄清楚如何得到這個有關工作的兩個星期之後的工作這和我找不到太多的文件。請幫忙! (如果需要更多的代碼,請讓我知道!)

註冊表格:

<%= form_for(@user) do |f| %> 
    <%= render 'shared/error_messages', object: f.object %> 
<%= f.label :company, :class => 'col-left' %> 
<%= f.collection_select(:user, :company_id, Company.all, :id, :company_name, {:include_blank => true}) %> 
    <%= f.label :email, :class => 'col-left' %> 
    <%= f.text_field :email, :class => 'col-right' %> 
    <%= f.label :name, :class => 'col-left' %> 
    <%= f.text_field :name %> 
    <%= f.label :password, :class => 'col-left' %> 
    <%= f.password_field :password %> 
    <%= f.label :password_confirmation, "Confirm Password", :class => 'col-left' %> 
    <%= f.password_field :password_confirmation %> 
    <%= image_submit_tag "/assets/create-account.png" %> 
    <% end %> 

回答

4

在<%= f.collection_select(:用戶,...)%>, 「F」 是你的用戶=> form_for(@ user)do | f |

你試過這個嗎?

<%= f.collection_select(:company_id, Company.all, :id, :company_name, {:include_blank => true}) %> 
+0

這樣做!謝謝! –