2010-09-21 164 views
11

基於以下車型Rails 3的構建與的has_many一個選擇標籤belongs_to的關聯

class Company < ActiveRecord::Base 
    belongs_to :country 
end 

class Country < ActiveRecord::Base 
    has_many :companies 
end 

我想在我的公司/ _form包含所有國家的一個選擇標籤

我認爲Company.new(params[:company])companies_controller#create可以創建公司和選定國家之間的關聯

我正在運行rails 3.0.0,實現該目標的最佳方法是什麼?

感謝您的見解

回答

31

collection_select應該爲你做的伎倆:

collection_select(:company, :country_id, Country.all, :id, :name, :prompt => 'Please select country') 

上面的代碼假定國家表有name列。如果不是,則將第五個參數替換爲國家名稱的列。

:prompt意味着你迫使用戶選擇一個國家。

Rails API documentation中查找更多信息。

+0

工作正常,謝謝 – denisjacquemin 2010-09-22 09:28:03

相關問題