2010-09-21 3 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

Смежные вопросы