Rails 3使用has_many belongs_to关联构建一个select标记
基于以下型号
class Company < ActiveRecord::Base belongs_to :country end class Country < ActiveRecord::Base has_many :companies end
我希望在我的公司/ _form中包含所有国家/地区的选择标记
我认为companies_controller#create
Company.new(params[:company])
中的Company.new(params[:company])
可以创建公司和所选国家之间的关联
我正在运行rails 3.0.0,实现这一目标的最佳方法是什么?
感谢您的见解
collection_select
应该为你做的诀窍:
collection_select(:company, :country_id, Country.all, :id, :name, :prompt => 'Please select country')
上面的代码假定countries表有一个name
列。 如果没有,请将第五个参数替换为国家/地区名称的列。
:prompt
表示您强制用户选择一个国家/地区。
在Rails API文档中查找更多信息。