Rails 3 создает тег выбора с ассоциацией has_many - PullRequest
11 голосов
/ 21 сентября 2010

На основе следующих моделей

class Company < ActiveRecord::Base
  belongs_to :country
end

class Country < ActiveRecord::Base
  has_many :companies
end

Я хочу иметь в своих компаниях / _формировать тег выбора, содержащий все страны

Я думаю, что Company.new(params[:company]) в companies_controller#create можетсоздать связь между компанией и выбранной страной

Я использую рельсы 3.0.0, какой лучший способ добиться этого?

спасибо за ваши идеи

1 Ответ

31 голосов
/ 22 сентября 2010

collection_select должен помочь вам:

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

В приведенном выше коде предполагается, что в таблице стран есть столбец name. Если это не так, замените пятый параметр на любой столбец с названием страны.

:prompt означает, что вы заставляете пользователя выбрать одну страну.

Дополнительную информацию можно найти в документации по Rails API .

...