基于以下模型
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,实现这一目标的最佳方式是什么?
感谢您的见解
答案 0 :(得分:31)
collection_select
应该为你做到这一点:
collection_select(:company, :country_id, Country.all, :id, :name, :prompt => 'Please select country')
上述代码假定countries表格有name
列。如果没有,请将第五个参数替换为国家/地区名称的列。
:prompt
表示您强制用户选择一个国家/地区。